赞
踩
使用Visual Studio编译Qt,需在安装qt时,选择MSVS2017编译套件。安装VS时,需要安装C++桌面套件。
安装VS时选择“使用C++的桌面开发”,其他可以不选。
安装完成以后,选择“工具”-扩展和更新-联机 在搜索框中输入“qt”,安装“Qt Visual Studio Tool”即可。如果无法联网安装,则可以去清华大学镜像中下载离线的vsix包,下载好后双击即可安装,注意插件安装过程需要关闭vs,才能安装。
重启VS即可看到目录栏中新增Qt VS Tools,下拉选择Qt Option - Qt Version - Add - 安装 Qt的路径(直到msvs2017_64)。
重启VS即可在新建项目中新建Qt项目。
在Qt Creator中是在.pro文件添加功能块,但是在VS中并没有pro文件。需要在项目右击,选择属性,在Qt Project Settings中的Qt Modules中添加相应的功能块。
准备:使用Qt调用lib库函数,一般需要准备*.h
、*.dll
、*.lib
三个文件。
给项目工程添加文件:把*.dll
、*.lib
这2个文件,复制到工程的x64下的Debug文件夹下(注意,使用x64编译,需要使用x64生成的*.dll
、*.lib
)。*.h
复制到工程源码目录下。
配置库路径:点击项目的属性–VC++目录–库目录,添加工程下的x64的Debug路径,因为里面包含了lib文件。在项目属性–链接器–常规–附加库目录,同样添加x64下的Debug路径。
添加依赖项:在项目属性–链接器–输入–附加依赖项,添加对应的*.lib
文件。
配置好了之后,就可以正常编译了。
最后运行的时候,还是提示没有找到dll文件,需要将dll和lib复制到工程目录下的x64的Debug文件下。
参考链接
显示乱码,主要原因是VS默认编码是GB2312,而Qt的编码为UTF-8。需要在vs中弃用GB2312,采用UTF8-BOM编码。
步骤:
vs默认“高级保存选项”是关闭的,所以要先设置选项可见。
VS菜单栏–工具–自定义
菜单栏选择”文件”–添加命令
左侧选择文件,右侧找到高级保存选项,点击确定
设置编码为UTF-8 BOM编码(仅对当前文件生效,故所有包含中文的源文件都应该如此设置一下)
文件–高级保存选项–设置编码如下图(如果高级保存选项是灰色不可选中,任意改动一下代码文件就好了)到了这一步,其实项目源代码保存格式已经是UTF-8了,所以直接用QT Creator打开应该是正常显示中文的,但是VS编译结果仍旧会是乱码,因此还要设置一下编译器选项
设置编译器附加选项(仅对当前项目生效),这种方案可能只有VS 2015及以后版本有效,本人测试环境为Visual Stdio 2019 community版本
项目右键–属性–C/C++–所有选项–附加选项–写入“/utf-8”–确定
如果是中文常量的话,Qt5还提供了一个专门的处理宏,但是只能处理常量。
QMessageBox::information(this, QString::fromLocal8Bit("关于"), QStringLiteral("中文显示"));
const char* info = "中文显示";
//不支持
QString strInfo = QStringLiteral(info);
//支持
QString strInfo = QString::fromLocal8Bit(info);
qDebug()<<QString::fromUtf8("哈哈")
是因为ui文件需要执行编译后,才会生成新的源文件,右击ui文件即可编译。
Qt Creator的工程用VS打开,编译出现“常量中有换行符”的问题。
在项目-属性-常规-字符集,将字符集设置为多字符集。
在同一目录下的c/c+±命令行-其他选项的末尾添加/utf-8
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。