mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mingw-cross-env-list] QT 4.7.0 p1 qjpeg plug-in missing symbols problem


From: Garth Dahlstrom
Subject: [Mingw-cross-env-list] QT 4.7.0 p1 qjpeg plug-in missing symbols problem
Date: Mon, 21 Jun 2010 04:00:36 -0400

Hit a snag with qjpeg plug-in on Qt 4.7.0 on mingw-cross, happens on both Linux 
and OSX qt builds.   

> /opt/mingw/usr/bin/i686-pc-mingw32-qmake -o Makefile qjpeg-test.pro
> make -f Makefile.Release
> i686-pc-mingw32-g++ -enable-stdcall-fixup -Wl,-enable-auto-import 
> -Wl,-enable-runtime-pseudo-reloc -static -Wl,-s -Wl,-subsystem,console 
> -mthreads -Wl -o release/qjpeg-test.exe release/main.o  
> -L'/opt/mingw/usr/i686-pc-mingw32/lib' 
> -L/opt/mingw/usr/i686-pc-mingw32/plugins/imageformats -lqjpeg -lqgif -lqico 
> -lqsvg -lQtSvg -lQtGui -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm 
> -lwinspool -lmsimg32 -lQtCore -lpng -lkernel32 -luser32 -lshell32 -luuid 
> -lole32 -ladvapi32 -lws2_32 -lz 
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x31a):
>  undefined reference to `_jpeg_destroy_decompress'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x58b):
>  undefined reference to `_jpeg_calc_output_dimensions'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x733):
>  undefined reference to `_jpeg_start_decompress'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x789):
>  undefined reference to `_jpeg_read_scanlines'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0xdb6):
>  undefined reference to `_jpeg_start_decompress'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0xdfd):
>  undefined reference to `_jpeg_read_scanlines'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0xf91):
>  undefined reference to `_jpeg_finish_decompress'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x13b7):
>  undefined reference to `_jpeg_resync_to_restart'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x13e9):
>  undefined reference to `_jpeg_CreateDecompress'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x1404):
>  undefined reference to `_jpeg_std_error'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x1442):
>  undefined reference to `_jpeg_read_header'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x144d):
>  undefined reference to `_jpeg_calc_output_dimensions'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x1b2b):
>  undefined reference to `_jpeg_std_error'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x1b6c):
>  undefined reference to `_jpeg_CreateCompress'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x1be4):
>  undefined reference to `_jpeg_set_defaults'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x2164):
>  undefined reference to `_jpeg_destroy_compress'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x2288):
>  undefined reference to `_jpeg_set_quality'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x229e):
>  undefined reference to `_jpeg_start_compress'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x2319):
>  undefined reference to `_jpeg_write_scanlines'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x26f4):
>  undefined reference to `_jpeg_finish_compress'
> /opt/mingw/usr/i686-pc-mingw32/plugins/imageformats/libqjpeg.a(qjpeghandler.o):qjpeghandler.cpp:(.text+0x2702):
>  undefined reference to `_jpeg_destroy_compress'
> collect2: ld returned 1 exit status
> make[1]: *** [release/qjpeg-test.exe] Error 1
> make: *** [release] Error 2

Seems like qjpeg plugin library can not find the symbols in libjpeg.a, though 
libjpeg.a is definitely there and has the symbols in question. 

> address@hidden:~/qjpeg-test$ ls -larth 
> /opt/mingw/usr/i686-pc-mingw32/lib/libjpeg.a
> -rw-r--r--  1 ged  staff   1.2M 20 Jun 21:48 
> /opt/mingw/usr/i686-pc-mingw32/lib/libjpeg.a
> address@hidden:/opt/mingw$ grep _jpeg_destroy_decompress 
> /opt/mingw/usr/i686-pc-mingw32/lib/libjpeg.a
> Binary file /opt/mingw/usr/i686-pc-mingw32/lib/libjpeg.a matches


I've attached the very small test project which created the output above.  
Removing qjpeg plugin from the project allows it to build... so svg, gif and 
ico plugins are okay.

I wonder could it be trying to link against the native libs as  I see "      
-system-libjpeg \" in qt.mk:66?  Would that cause the linker to barf as if 
there were no symbols?

-G


Attachment: main.cpp
Description: Binary data

Attachment: qjpeg-test.pro
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]