mingGw版:
minGw其实就是gcc编译器,只不过是在windows下做了封装而已。朋友们在官网下载的只有32位版本,也就是X86版,没有64位版本。并不是说技术无法实现,而是minGw编译器,官方只发不了32位版,而因为其开源,也有相应的64位版本产生。而为了严谨,官方并没有发布64位版,而是针对minGw的官方版发不了相应的32位版。
至于强迫症程序员,完全可以放心,因为32位的程序是可以在64位跑的呀,所以安装这个版本并没有什么坏处,当然我个人推荐的也是这个。
当然,你在编译其他库的时候可能出现qtcreator无法识别的问题,这是因为该版本qt,使用minGw编译了自身,而用vs编译了qtcreator。当然,新手不必深究。
vs版:很多人之所以下砸vs版应该是因为对这个最熟悉,甚至对于minGw和clong都不知道,自然也就不敢下载。
着重说一下vs版qt的一些安装问题。
首先下载安装,这个没有任何问题。
但是此版本要求额外安装两个东西,一个是vs编译器。注意你下载的版本,如果是qt-windows-x86-opensouse-vs2013_x86这样的名字,你就需要安装32位的vs2013,第一个x86表示qt是32位的,第二个x86表示它需要一个32位的vs2013编译器。
你可以提前安装vs,也可以之后安装,之后安装的,需要重启qtcreator,然后它会自动识别出来。
如果你的qt版本是5.6以下,会发现程序不能运行,5.6.1的会发现程序不能调试
把鼠标放到编译器上,就会告诉你哪里出了问题。
提示就是没有调试器。
现在要做的就很简单了,你需要去网上下载一个调试器。搜索windows调试器,你就会发现有一大把,然后下一个安装就可以了。
另外就是vs2013是没有64位版本的,大家不用浪费时间去寻找了。
都弄好了以后再说一下vs中编码的问题。
qt常年混迹linux,所以呢,utf-8编码自然是没有BOM头的,而windows呢,是带有BOM头的,这就导致了qtcreator写出的代码乱码!
两步来解决:
第一步,设置qtcreator的编码,添加BOM头。
选择工具——选项——文本编辑器然后在“行为”选项卡选择修改此项,改成若是utf-8则添加。
然后你就惊讶的发现,还是乱码……
第二步,在代码汉字前加上u8,注意是汉字之前的冒号前面加。
如这样 *** 作:
这里我分别演示了qdebug输出和界面效果,并且和不加u8的做了对比。
如果是用的VS,那非常简单,只不过是最基本的DLL调用,QT也相当于是VS中的一个库,简单来说,就是你用VS写代码,有一个库A,一个库B,就是在库B中调用库A的问题,找不到实现就是LIB没有找对,没有添加LIB库。被这个坑折磨了好久。。。
Qt如果用 cmake 构建的话,默认是没有 UNICODE 预定义的,也就是说调用的win32 api都是A版的,而不是W版,解决方法是在 CMakeLists.txt 中加入 add_definitions(-DUNICODE -D_UNICODE)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)