windows上使用Qt Mingw 编译zlib-1.2.8
2018-02-28 15:59
1116 查看
转自:http://blog.csdn.net/akof1314/article/details/17034887
MinGW
这里使用的是Qt5自带的MinGw版本,将路径D:\Qt\Qt5.1.0\Tools\mingw48_32\bin加到"环境变量"→"系统变量"→"Path"命令行输入:
1 | gcc -v |
MSYS
下载地址:http://www.mingw.org/wiki/MSYS当前版本:1.0.11
一路安装下去即可
zlib
下载地址:http://www.zlib.net/当前版本:1.2.8
命令行输入:
1 2 | copy win32\makefile.gcc makefile.gcc mingw32-make -f makefile.gcc |
libpng
下载地址:http://www.libpng.org/pub/png/libpng.html当前版本:1.6.6
打开scripts/makefile.gcc设置zlib路径:
1 2 | ZLIBINC = ../zlib-1.2.8 ZLIBLIB = ../zlib-1.2.8 |
命令行输入:
1 2 | copy scripts\makefile.gcc makefile.gcc mingw32-make -f makefile.gcc |
libjpeg
下载地址:http://www.ijg.org/当前版本:9
打开MSYS (rxvt),输入:
1 2 3 | cd /f/mycode/mysvn/jpeg-9 ./configure make |
1 2 | jcapimin.c:127:1: error: conflicting types for 'jpeg_suppress_tables' jpeg_suppress_tables (j_compress_ptr cinfo, boolean suppress) |
1 | #define HAVE_PROTOTYPES 1 |
1 | make |
libtiff
下载地址:ftp://ftp.remotesensing.org/pub/libtiff当前版本:4.0.3
编译依赖zlib和libjpeg,打开jpeg-9/jconfig.h,定义如下:
1 2 | #define HAVE_UNSIGNED_CHAR #define HAVE_UNSIGNED_SHORT |
1 | ./configure --with-zlib-include-dir=/f/mycode/mysvn/zlib-1.2.8 --with-zlib-lib-dir=/f/mycode/mysvn/zlib-1.2.8 --with-jpeg-include-dir=/f/mycode/mysvn/jpeg-9 --with-jpeg-lib-dir=/f/mycode/mysvn/jpeg-9/.libs |
1 | make |
libiconv
下载地址:http://www.gnu.org/software/libiconv/当前版本:1.14
打开MSYS (rxvt),输入:
1 2 3 | cd /f/mycode/mysvn/libiconv-1.14 ./configure make |
GLEW
下载地址:http://glew.sourceforge.net/当前版本:1.10.0
打开Makefile,更改SYSTEM变量为:
1 | SYSTEM ?= mingw |
1 | mingw32-make -f Makefile |
MinGW使用-lxxx来链接库的时候,搜索库的顺序如下:
1 2 3 4 5 6 | libxxx.dll.a xxx.dll.a libxxx.a cygxxx.dll (*) libxxx.dll xxx.dll |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | QT += core QT -= gui TARGET = testc11 CONFIG += console CONFIG -= app_bundle CONFIG += c++11 TEMPLATE = app # 链接GLEW静态库版本时开启 #DEFINES += GLEW_STATIC INCLUDEPATH += E:/MyControl/glew-1.10.0/include LIBS += -lglew32 -lopengl32 -LE:/MyControl/glew-1.10.0/lib SOURCES += main.cpp |
1 2 3 4 5 6 7 8 9 | #include "GL/glew.h" #include <QCoreApplication> int main(int argc, char *argv[]) { glewInit(); QCoreApplication a(argc, argv); return a.exec(); } |
libwebp
下载地址:https://developers.google.com/speed/webp当前版本:0.3.1
打开makefile.unix文件,注释掉以下四行,如下:
1 2 3 4 | #EXTRA_FLAGS= -DWEBP_HAVE_PNG -DWEBP_HAVE_JPEG -DWEBP_HAVE_TIFF #DWEBP_LIBS= -lpng -lz #CWEBP_LIBS= $(DWEBP_LIBS) -ljpeg -ltiff #GIF_LIBS = -lgif |
1 | mingw32-make -f makefile.unix |
libcurl
下载地址:http://curl.haxx.se/当前版本:7.33.0
命令行输入:
1 | mingw32-make mingw32 |
测试静态库使用,新建Qt工程,pro内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | QT += core QT -= gui TARGET = testc11 CONFIG += console CONFIG -= app_bundle CONFIG += c++11 TEMPLATE = app DEFINES += CURL_STATICLIB INCLUDEPATH += E:/MyControl/curl-7.33.0/include LIBS += -LE:/MyControl/curl-7.33.0/lib -lcurl -lws2_32 -lwldap32 SOURCES += main.cpp |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include "curl/curl.h" #include <QCoreApplication> int main(int argc, char *argv[]) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* example.com is redirected, so we tell libcurl to follow redirection */ curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } QCoreApplication a(argc, argv); return a.exec(); } |
FreeType
下载地址:http://www.freetype.org当前版本:2.5.0
打开MSYS (rxvt),输入:
1 2 3 | cd /e/mycontrol/freetype-2.5.0 ./configure --without-png make |
参考资料:
1.在 mingw 下编译 libHaru http://kingsz1.iteye.com/blog/5437872.NDK在windows下编译libpng http://www.scottcgi.com/2012/12/31/ndk%E5%9C%A8windows%E4%B8%8B%E7%BC%96%E8%AF%91libpng/
3.mingw_how_to http://www.gaia-gis.it/spatialite-2.4.0/mingw_how_to.html
4.compile libjpeg with mingw http://stackoverflow.com/questions/13087749/compile-libjpeg-with-mingw
5.Using ld, the Gnu Linker https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Using_ld_the_GNU_Linker/win32.html
相关文章推荐
- open-vmdk在linux编译时候 zlib.h的头文件问题 以及在windows使用zlib的资料查找记录
- Windows下zlib和libPng库的编译及使用
- Windows 上 使用CMake-GUI 软件生成 zlib 和 png 库的编译文件,然后使用VS2010编译
- windows上编译zlib-1.2.8
- windows下使用cmake编译zlib与libpng 留此备份
- windows上编译zlib-1.2.8
- 记录zlib在windows上编译使用调研的资料和过程
- windows下zlib库的编译与使用
- vs2013-zlib1.2.8编译使用
- windows上编译zlib-1.2.8
- windows下使用cmake编译zlib与libpng libjpeg 留此备份
- Windows 编译libcurl(openssl+zlib)(使用VC编译)
- Windows平台上使用VC6编译安装STLport
- 在Windows中使用Cygwin环境下的gcc编译器编译【电脑教程网】Informix ESQ/C程序
- Windows环境使用VIM编译简单C++程序(使用cl.exe和link.exe)
- Windows下使用VIM&Cygwin,搭建Mainframe开发环境(六)---用awk/sed合并PLI/Cobol编译结果
- 在Windows上使用VC编译并安装ACE
- 【原】Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- 使用BCB对zlib进行源码编译
- 可以在VC6下编译使用的libpng库1.2.8版本