[Interest] Conflicting libjpeg versions

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


oops, ignore my 2nd sentence, i mixed up png and jpeg

2016-03-29 16:51 GMT+02:00 Olivier B. <perso.olivier.barthelemy at gmail.com>:

> 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/698e6140/attachment.html>


More information about the Interest mailing list