QT编译报错:Please #define _AFXDLL or do not use /MD[d],请大神指导折腾一下午终成此文 理论上本教程支持其他编译环境和qt版本 环境:qt5.2.1源码包(

QT编译报错:Please #define _AFXDLL or do not use /MD[d],请大神指导 

 
 

 

在编译QT工程时,出现错误提示: C1189: #error:  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d],请大神指导

 

这不是告诉你了么?要么去除/MD编译选项,要么定义_AFXDLL宏。

所以你直接在.pro里加上
DEFINES += _AFXDLL
然后重新qmake/make编译就行了。

 

折腾一下午终成此文
理论上本教程支持其他编译环境和qt版本

环境:qt5.2.1源码包(这个不用说了官网下载中心http://download.qt-project.org/),msvc2010,qtcreator3.1.1
perl,ruby,python(这三个都是从官网下载的最新版)
准备:
ruby,python请查看自己的安装路径并添加到环境变量path(perl安装时自动添加了),验证方法:打开cmd输入perl或python或ruby -help如果能出现帮助信息则说明相应的软件已添加环境变量,
(如果看到此处问环境变量怎么添加,那么请按ctrl+w键,谢谢)
D:\Python34;D:\ruby\bin

然后在源码目录下新建一个bat文件,内容为
CALL "F:\vs2010\VC\vcvarsall.bat" x86

set PATH=F:\qt-src\qtbase\bin;F:\qt-src\qtrepotools\bin;F:\qt-src\gnuwin32\bin;%PATH%
set QMAKESPEC=win32-msvc2010

第一行的路径为vs2010的路径,具体可以查看如下图所示位置的属性
第二行中的F:\qt-src为源码路径,请查看自己的源码路径修改
第三行为使用的编译平台,根据自己使用的编译器修改
然后为此文件新建快捷方式,目标里面修改如下:
只需根据自己的路径修改F:\qt-src\build.bat即可,其他勿动
%SystemRoot%\system32\cmd.exe /E:ON /V:ON /k F:\qt-src\build.bat
确定关闭,打开快捷方式执行echo %path%
查看path路径是否都添加对了
然就可以输入配置命令进行配置了
此处环境变量建议参考官方文档“Qt for Windows - Building from Source”



配置命令:configure -prefix "此处为安装路径" -opensource -release -static -platform win32-msvc2010 -mp -nomake tests -no-icu -skip webkit -nomake examples -opengl desktop
此处只配置了release,所以安装后debug构建是不能使用的
具体有哪些配置参数请输入命令:configure -help>>help.txt
在此目录下会生成一个help.txt的文件,里面非常详细,建议仔细阅读此文件
下面这些参数不要动就行,其他根据需求设置,不设置也可以
-prefix "此处为安装路径" -opensource -release -static -platform win32-msvc2010 -mp -nomake tests -nomake examples -opengl desktop
。。。。。。。。。。。。。。。。
-static 静态编译
-platform 编译平台
-mp 编译时多核处理器的支持
配置完成后
nmake,开始编译,时间比较长
如果没什么错误编译完成后执行nmake install
就会安装到配置中指定的路径

关于更改安装目录的问题:
安装后如果修改了路径在qtcreator会报错,qt比较变态的是在编译时把安装路径hard code到了qmake里面,若要修改还要用二进制编辑qmake把里面的路径全部替换成新的路径
方便的方法,可以在bin目录下新建qt.conf文件内容为:
[paths]
prefix = D:/xxx/xxx
prefix为新的路径

关于删除源码目录后报lib错误的问题,请搜索安装目录下所有prl后缀的文件,将里面指向源码lib目录的路径全部替换为当前Qt目录下的lib目录(可以用ultraedit批量打开,然后批量替换),更改安装目录也建议按此操作,也可以使用我写的一个小根据进行批量修改http://www.qtcn.org/bbs/read-htm-tid-56868.html


补充:1、如果在配置中加入了对mysql的支持,那么你需要将mysql相关的头文件放入qtbase\include中,mysql的库文件放入qtbase\lib中,否则编译会报错
================================安装qt文档=====================================
按以上结果是没有官方文档的,打开qtcreator的帮助里面基本没啥内容
还是在vs2010下打开命令行工具(如上面的图),
nmake docs
nmake install_docs
注:以上为正常步骤,但是会出错,请将libmysql.dll放到安装目录下的bin目录以及源码目录的qttools\bin下面
然后打开qtcreator,帮助里面的内容就全了




欢迎批评指正,疏忽之处在所难免

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lst0426

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值