在Qt中链接libpng
我正在尝试编译一个同时使用Qt框架和libpng的项目。我在以前版本的libpng中遇到错误,因此我下载了一个较新的代码库,现在我在尝试构建项目时遇到以下错误:在Qt中链接libpng,qt,qt-creator,libpng,Qt,Qt Creator,Libpng,我正在尝试编译一个同时使用Qt框架和libpng的项目。我在以前版本的libpng中遇到错误,因此我下载了一个较新的代码库,现在我在尝试构建项目时遇到以下错误: Running build steps for project mytool-win-cli... Configuration unchanged, skipping qmake step. Starting: "C:\QtSDK\mingw\bin\mingw32-make.exe" C:/QtSDK/mingw/bin/mingw
Running build steps for project mytool-win-cli...
Configuration unchanged, skipping qmake step.
Starting: "C:\QtSDK\mingw\bin\mingw32-make.exe"
C:/QtSDK/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `C:/_src/mytool-win-cli-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug'
g++ -mthreads -Wl,-subsystem,windows -o debug\mytool-win-cli.exe debug/main.o -L"c:\QtSDK\Desktop\Qt\4.7.4\mingw\lib" -lmingw32 -lqtmaind -lpng -lQtGuid4 -lQtCored4 -LC:\OpenSSL-Win32_full\lib
c:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libpng.a(libpng14_la-pngread.o): In function `png_create_read_struct_2':
/usr/src/packages/libpng/14/libpng-1.4.8-1/src/libpng-1.4.8/pngread.c:90: undefined reference to `setjmp'
c:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libpng.a(libpng14_la-pngerror.o): In function `png_default_warning':
/usr/src/packages/libpng/14/libpng-1.4.8-1/src/libpng-1.4.8/pngerror.c:361: undefined reference to `__getreent'
/usr/src/packages/libpng/14/libpng-1.4.8-1/src/libpng-1.4.8/pngerror.c:362: undefined reference to `__getreent'
c:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libpng.a(libpng14_la-pngerror.o): In function `png_default_error':
/usr/src/packages/libpng/14/libpng-1.4.8-1/src/libpng-1.4.8/pngerror.c:297: undefined reference to `__getreent'
/usr/src/packages/libpng/14/libpng-1.4.8-1/src/libpng-1.4.8/pngerror.c:298: undefined reference to `__getreent'
/usr/src/packages/libpng/14/libpng-1.4.8-1/src/libpng-1.4.8/pngerror.c:297: undefined reference to `__getreent'
c:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../libpng.a(libpng14_la-pngerror.o):/usr/src/packages/libpng/14/libpng-1.4.8-1/src/libpng-1.4.8/pngerror.c:298: more undefined references to `__getreent' follow
collect2: ld returned 1 exit status
mingw32-make[1]: Leaving directory `C:/_src/mytool-win-cli-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug'
mingw32-make[1]: *** [debug\mytool-win-cli.exe] Error 1
mingw32-make: *** [debug] Error 2
The process "C:\QtSDK\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building project mytool-win-cli (target: Desktop)
When executing build step 'Make'
我怀疑包含的libpng源代码和mingw编译的源代码之间的版本一定有问题,但我真的不知道。我做错了什么?所以,真的没有理由这么做,Qt已经与qpng一起提供了。QImage将读取和写入它们。构建Qt时,QtGui是用libpng编译的,它是libQtGui.so中的静态链接 我想你不应该再链接libpng了
在src/gui/make和makeinstall中,libQtGui.so应该在您的lib中 为什么不直接用它来读取png文件呢?我正在寻找一个合适的QImage替换:png::image
错误:“png”还没有被声明
,也许你知道另一个选择。QImage并没有公开libpng的所有功能。