[Interest] Conflicting libjpeg versions

Olivier B. perso.olivier.barthelemy at gmail.com
Tue Mar 29 16:51:23 CEST 2016


I do -system-libjpeg -I ${ENV_LIBJPEG_PATH}/include -L
${ENV_LIBJPEG_PATH}/lib  on my configure line to use my own libjpeg
version.
I also sed in qtbase/src/3rdparty/png_dependency.pri between debug and
release build, in order to use a debug libjpeg in my debug qt and a release
libjpeg in my release qt

If you build a static Qt, it is written in Qt static libs at qt build time
that they need 62. But actual linking with libjpeg is done at link time of
your exe. So if the path to the wrong libjpeg is passed at executable llink
time, you might get the error you are seing at runtime

2016-03-29 16:45 GMT+02:00 Etienne Sandré-Chardonnal <etienne.sandre at m4x.org
>:

> Hi,
>
> There is no dependency to any libjpeg DLL, as checked with dependency
> walker. And I have searched for any libjpeg*.dll in my system, none of them
> are inside the PATH. The libjpeg is linked statically.
>
> Which options do I have for configuring Qt? I only know the option which
> switches between embedded libjpeg and system libjpeg, and using the latter
> should normally make Qt use the 6.2 that is installed in the compiler
> folders (include/lib)
>
>
>
>
> 2016-03-29 16:24 GMT+02:00 Olivier B. <perso.olivier.barthelemy at gmail.com>
> :
>
>> Either your PATH is set so the wrong libjpeg dll is found first, or qt
>> found the wrong jpeg include first.
>> If you don't care which version is used, set your PATH so that your
>> system libjpeg 6.2 is found first at runtime (or place the libjpeg dll of
>> the version that was detected beside your executable). If you want a
>> specific version, change qt configure options accordingly
>>
>> 2016-03-29 16:18 GMT+02:00 Etienne Sandré-Chardonnal <
>> etienne.sandre at m4x.org>:
>>
>>> Dear all,
>>>
>>> I am compiling under windows with MinGW (64-bit)
>>>
>>> I compiled Qt for static linking. I let the default options for
>>> configure regarding jpeg support, and it seems that it choose using the
>>> system libjpeg (as seen in config.summary), probably because it detected
>>> it. My system libjpeg is the binary shipped by libjpeg-turbo 1.4.2 official
>>> download, installed inside minGW folders. The libjpeg version as in
>>> jconfig.h is 62 (6.2)
>>>
>>> Now when I compile and run my application, libjpeg functions return the
>>> following error message : Wrong JPEG library version: library is 80,
>>> caller expects 62
>>>
>>> So it means that at some point my application was linked (statically or
>>> dynamically) with libjpeg version 80 (8.0)
>>>
>>> If I remove the libjpeg.a from my compiler path, I cannot compile my
>>> application anymore. So it is properly linking against that file, or I am
>>> missing something.
>>>
>>> What could be the issue?
>>>
>>> Thanks...
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Interest mailing list
>>> Interest at qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/interest
>>>
>>>
>>
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160329/79b510f3/attachment.html>


More information about the Interest mailing list