mingw32编译Qt5.6.2动态库

(1)mingw32 手动编译Qt库:
configure.bat -opensource -debug-and-release -platform win32-g++ -prefix E:\Qt\build -no-openssl -c++std c++11 -opengl desktop -no-icu -skip qt3d -skip qtandroidextras -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtwayland -skip qtwebchannel -skip qtx11extras
NOTE:1.命令中应该指定-prefix,在qmake.exe中,会使用绝对路径。因此,如果不指定prefix,编译好的库不能移动位置。
2.用mingw32编译时,-platform应该是win32-g++。
按照网上说,用mingw和MSVC编译,编译出的库大小不一样。而且,mingw跟msvc相比,mingw的跨平台性好。
3.用mingw编译Qt库时,应该将系统环境变量与MSVC相关的bin,lib,include都删掉,不然编译时会报错找不到一些库。
4.编译之前应该保证环境变量中有python和perl。对于ruby,由于本次编译有些库没有编译,因此没有设置ruby。
5.如果指定了prefix,编译过程中编译出来的库,在相应文件夹下面的lib中,只有安装之后,才被安装到prefix中。
6.暂时从不到icu,openssl,qt3d,qtandroidextras,qtquickcontrols,qtquickcontrols2,qtsensors, qtwayland,qtwebchannel ,qtx11extras。因此skip。
7.按照这个命令,可以编译成功。
(2)mingw32-make
(3)mingw32-make install
安装时,会将所有相关的lib,bin,include库拷贝到prefix指定的路径下。
(4)由于编译时qmake.exe中使用的是绝对路径,因此如果将编译好的库换个位置,会无法正常使用。解决方法是:
从源代码下的qtbase拷贝qt.conf到bin下,与qmake.exe在同一目录
内容为:
[paths]
Prefix=..
(5)最后要将Qt库的路径添加到环境变量中,设置好程序运行时,遇到以下错误
这里写图片描述

解决方法1:可以将bin/plugin/platforms拷贝到用户程序同级目录。(暂时没有找到其他更好的办法,谁有好的方法,欢迎交流)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值