如何在 Windows 上安装 libpng 并将其添加到我的 Qt 项目中
How to install and add libpng to my Qt project on Windows
我的 Qt 课程作业需要使用 libpng。但我不知道如何安装它并在 Windows.
上与 Qt 一起使用
尝试使用 MinGw 安装
首先,我从官方网站下载了libpng和zlib。然后我尝试用 MinGw 安装它,./configure CFLAGS='-O2' CXXFLAGS='-O2' --prefix=/mingw 这个命令执行得很好,但后来我有问题。输入 make 和 make install 后,我遇到了以下问题。我不知道如何修复它以及它的实际含义,因为我从未遇到过来自 makefile 的错误。
尝试通过应用程序安装
我在 windows 上找到了一个用于安装 libpng 的应用程序:http://gnuwin32.sourceforge.net/packages/libpng.htm。它起作用了,我安装了一个库,得到了我的 lib 文件和 headers。然后我转到我的 Qt 项目,并通过指向 lib 文件的路径和指向 headers 的路径添加了一个库。现在我将 png.h 包括在我的 class 中并且事情似乎进展顺利,直到我尝试使用一些功能。 Qt 写了这样的东西 No mathcing function for call to png_sig_cmp。但更有趣的是,当我使用库中的变量类型时,它实际上并没有显示错误,例如 png_byte.
//messege from MinGw after typing make and make install
rm -f pnglibconf.c pnglibconf.tf[45]
gawk -f ./scripts/options.awk out=pnglibconf.tf4 version=search\
./pngconf.h ./scripts/pnglibconf.dfa\
./pngusr.dfa 1>&2
gawk -f ./scripts/options.awk out=pnglibconf.tf5 pnglibconf.tf4 1>&2
options.awk: bad line (10): com
make: *** [pnglibconf.c] Error 1
我希望在我的磁盘上安装库并能够将它包含在其他 IDE 快速的其他项目中。
对于您的构建问题 Google 搜索结果:https://github.com/aseprite/aseprite/issues/1054#issuecomment-335846694 .
假设你构建的不是 libpng,而是 libcurl,就像我之前使用 mingw 编译器所做的那样,
然后在你的 Qt 项目文件中使用 libcurl 做:
win32 {
## Windows common build here
win32-g++:contains(QMAKE_HOST.arch, x86_64):{
message("x86_64 build")
INCLUDEPATH += C:\QT64\Lib64\curl-7.40.0-devel-mingw64\include
LIBS += C:\Qt64\Lib64\curl-7.40.0-devel-mingw64\lib64\libcurldll.a
# Win64 specific build here
} else {
message("x86 build")
INCLUDEPATH += C:\QT\Lib\curl-7.40.0-devel-mingw32\include
LIBS += C:\Qt\Lib\curl-7.40.0-devel-mingw32\lib\libcurldll.a
#Win32 specific build here
}
}
我的 Qt 课程作业需要使用 libpng。但我不知道如何安装它并在 Windows.
上与 Qt 一起使用尝试使用 MinGw 安装
首先,我从官方网站下载了libpng和zlib。然后我尝试用 MinGw 安装它,./configure CFLAGS='-O2' CXXFLAGS='-O2' --prefix=/mingw 这个命令执行得很好,但后来我有问题。输入 make 和 make install 后,我遇到了以下问题。我不知道如何修复它以及它的实际含义,因为我从未遇到过来自 makefile 的错误。
尝试通过应用程序安装
我在 windows 上找到了一个用于安装 libpng 的应用程序:http://gnuwin32.sourceforge.net/packages/libpng.htm。它起作用了,我安装了一个库,得到了我的 lib 文件和 headers。然后我转到我的 Qt 项目,并通过指向 lib 文件的路径和指向 headers 的路径添加了一个库。现在我将 png.h 包括在我的 class 中并且事情似乎进展顺利,直到我尝试使用一些功能。 Qt 写了这样的东西 No mathcing function for call to png_sig_cmp。但更有趣的是,当我使用库中的变量类型时,它实际上并没有显示错误,例如 png_byte.
//messege from MinGw after typing make and make install
rm -f pnglibconf.c pnglibconf.tf[45]
gawk -f ./scripts/options.awk out=pnglibconf.tf4 version=search\
./pngconf.h ./scripts/pnglibconf.dfa\
./pngusr.dfa 1>&2
gawk -f ./scripts/options.awk out=pnglibconf.tf5 pnglibconf.tf4 1>&2
options.awk: bad line (10): com
make: *** [pnglibconf.c] Error 1
我希望在我的磁盘上安装库并能够将它包含在其他 IDE 快速的其他项目中。
对于您的构建问题 Google 搜索结果:https://github.com/aseprite/aseprite/issues/1054#issuecomment-335846694 .
假设你构建的不是 libpng,而是 libcurl,就像我之前使用 mingw 编译器所做的那样, 然后在你的 Qt 项目文件中使用 libcurl 做:
win32 {
## Windows common build here
win32-g++:contains(QMAKE_HOST.arch, x86_64):{
message("x86_64 build")
INCLUDEPATH += C:\QT64\Lib64\curl-7.40.0-devel-mingw64\include
LIBS += C:\Qt64\Lib64\curl-7.40.0-devel-mingw64\lib64\libcurldll.a
# Win64 specific build here
} else {
message("x86 build")
INCLUDEPATH += C:\QT\Lib\curl-7.40.0-devel-mingw32\include
LIBS += C:\Qt\Lib\curl-7.40.0-devel-mingw32\lib\libcurldll.a
#Win32 specific build here
}
}