VS+QT和qtcreator工程的互相转换
QT Creator的project转成Visual Studio的project
在windows下,运行Qt Command Prompt。
输入命令行:
qmake -tp vc XXX.pro
会生成文件XXX.vcxproj
Visual Studio的project转成QT Creator的project
第一步,因为原Visual Studio工程就是基于QT Template的工程,所以我们可以用VS里的QT插件里的"Create basic .pro file..."菜单选项来自动生成一个.pro文件,实际上,不仅仅生成了.pro 文件,还生成了.pri文件。但是目前的.pro文件还是不能用的,因为其中还有大量的配置需要修改,比如INCLUDEPATH和LIBS.
第二步,修改.pro文件使其包含正确而必要的配置信息。
总结笔者对.pro文件的具体修改如下:
1. TEMPLATE = lib
2. 将DESTDIR = xxx改成:
Release:DESTDIR = xxx/Release
Debug:DESTDIR = xxx/Debug
3. CONFIG += debug_and_release
4. 完善INCLUDEPATH
5. 完善DEPENDPATH (这里又有故事了:事后笔者发现,只要在LIBS里写了-L"<LIBPATH>",就没必要写DEPENDPATH了。)
6. 加上 Release:DEPENDPATH 和 Debug:DEPENDPATH
7. 类似的,完善LIBS,添加Release:LIBS和Debug:LIBS
第三步,双击改好的.pro文件,QT Creator打开此工程,选中合适的Kit,就可以build了。因为是64位机器,Kit选的是QT 5.5.1的msvc2013_64.
最后千万要注意的是,在系统环境变量%PATH%里,对于Visual Studio的编译器cl.exe和链接器link.exe, 要选对路径。比如,对于64位的机器,路径 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64 应该被加到%PATH%中,而不是 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin 这一条在前一篇博文中已有详细阐述。
以上步骤做完后,就可以顺利地在QT Creator中进行build了。
最后还要提醒的一点是,如果更改了.pro文件,想让更改生效,必须手动删除qmake生成的Makefile, Makefile.Debug和Makefile.Release文件。
下面是一个.pro文件的实例:
[plain] view plain copy
TEMPLATE = lib
TARGET = MyProject
Release:DESTDIR = ../../../Output/x64/Release
Debug:DESTDIR = ../../../Output/x64/Debug
QT += core qml
CONFIG += debug_and_release
DEFINES += WIN64 QT_DLL QT_QML_LIB MyProject_LIB
INCLUDEPATH += ./GeneratedFiles \
. \
./GeneratedFiles/Release \
$$(VC_INCLUDE) \
$$(VC_INCLUDE)/../atlmfc/include \
$$(WINSDK_INCLUDE)/shared \
$$(WINSDK_INCLUDE)/um
DEPENDPATH += . \
$$(WINSDK_LIB)/um/x64 \
$$(VC_LIB)/amd64 \
$$(QTDIR)/lib \
$$(QTDIR)/bin \
Release:DEPENDPATH += ../../../3rd_library/opencv/libs/Release/x64 \
../../../3rd_library/DirectShow/baseclasses/x64/Release
Debug:DEPENDPATH += ../../../3rd_library/opencv/libs/Debug/x64 \
../../../3rd_library/DirectShow/baseclasses/x64/Debug
MOC_DIR += ./GeneratedFiles/release
OBJECTS_DIR += release
UI_DIR += ./GeneratedFiles
RCC_DIR += ./GeneratedFiles
Release:LIBS += -L"../../../3rd_library/DirectShow/baseclasses/x64/Release" \
-lstrmbase \
-L"../../../3rd_library/opencv/libs/Release/x64" \
-lqtmain \
-lQt5Qml \
-lQt5Core \
-lopencv_calib3d248 \
-lopencv_contrib248 \
-lopencv_core248 \
-lopencv_features2d248 \
-lopencv_flann248 \
-lopencv_gpu248 \
-lopencv_highgui248 \
-lopencv_imgproc248 \
-lopencv_legacy248 \
-lopencv_ml248 \
-lopencv_nonfree248 \
-lopencv_objdetect248 \
-lopencv_ocl248 \
-lopencv_photo248 \
-lopencv_stitching248 \
-lopencv_superres248 \
-lopencv_ts248 \
-lopencv_video248 \
-lopencv_videostab248
Debug:LIBS += -L"../../../3rd_library/DirectShow/baseclasses/x64/Debug" \
-lstrmbasd \
-L"../../../3rd_library/opencv/libs/Debug/x64" \
-lqtmaind \
-lQt5Qmld \
-lQt5Cored \
-lopencv_calib3d248d \
-lopencv_contrib248d \
-lopencv_core248d \
-lopencv_features2d248d \
-lopencv_flann248d \
-lopencv_gpu248d \
-lopencv_highgui248d \
-lopencv_imgproc248d \
-lopencv_legacy248d \
-lopencv_ml248d \
-lopencv_nonfree248d \
-lopencv_objdetect248d \
-lopencv_ocl248d \
-lopencv_photo248d \
-lopencv_stitching248d \
-lopencv_superres248d \
-lopencv_ts248d \
-lopencv_video248d \
-lopencv_videostab248d
LIBS += -L"$$(WINSDK_LIB)/um/x64" \
-L"$$(VC_LIB)/amd64" \
-L"$$(QTDIR)/lib" \
-L"$$(QTDIR)/bin" \
-lWtsapi32 \
-lPathcch \
-l3DScanningEngine \
-lUserenv \
-lwinmm \
-lMf \
-lMfplat
include(MyProject.pri)
VS+QT和qtcreator工程的互相转换相关推荐
- Qt中为工程添加资源文件、给按钮添加图片
Qt中为工程添加资源文件.给按钮添加图片 1.使用QIcon类.代码如下: QIcon icon;icon.addFile(tr("res/icon/wall.png"));ui- ...
- Qt创建的工程,无法编译,提示找到不文件Cannot find file,是怎么回事
Qt创建的工程,无法编译,提示找到不文件,是怎么回事! 17:23:55: 为项目untitled执行步骤 ... 17:23:55: 正在启动 "D:\Qt\Qt5.4.0\5.4\min ...
- 【Qt】QtCreator导入cmake工程
QtCreator导入cmake 一.ubuntu系统 1.配置cmake编译套件 2.导入cmake工程 二.windows系统 1.下载cmake 2.安装cmake 3.设置环境变量 4.添加c ...
- Qt 集成 FFmpeg 实现颜色格式转换
目录 1. Qt 集成 FFmpeg 1.1 下载 FFmpeg 1.2 Qt 集成 FFmpeg 1.2.1 修改 .pro 文件 1.2.2 放入 dll 文件 1.2.3 代码中使用 FFmpe ...
- Python 中 PyQt5 + pycharm 调用 Qt Designer,将.ui文件转换成 .py 文件
From:https://blog.csdn.net/qq_40666028/article/details/81069878 基于Qt Designer 和 pyuic 开发 UI 界面的方法:ht ...
- 【Qt】QtCreator无法调试终端程序,启动报错SIGSTOP
1.问题描述 使用QtCreator调试终端程序时,因为收到信号SIGSTOP 而退出,无法调试程序. 2.解决方法 解决方式是,设置GDB不处理SIGSTOP , 在QtCreator中进入GDB命 ...
- 【Qt】QtCreator中自动补全注释
1.简述 在QtCreator中编辑代码,可以自动补全函数注释,供doxygen使用并生成文档.doxygen的使用方法,后续会写一个详细的博文. 2.使用方法 在函数前分别输入"/**&q ...
- 201105阶段二qt创建简单工程
目录 一.学习的知识点 qt的安装 qt项目 项目创建 项目例程 二.上课没有听懂或者没有理解的地方 三.当天学习的收获 一.学习的知识点 qt的安装 安装路径尽量不改,或者只修改盘符 https:/ ...
- Linux增加Qt模块,Qtcreator:linux系统下安装qtserialport模块
在qt5.6之前是没有qeserialport模块的,要想使用该模块必须自己添加. 国产部分版本的操作系统可能有qt5.6的编译器,但是可能没有相应的库,这个时候也需要自己编译后进行安装. 如果你的机 ...
最新文章
- 机器学习视频第二章2
- logstash通过kafka传输nginx日志(三)
- tensorflow:Multiple GPUs
- jq处理返回来json_4个小窍门,让你在Python中高效使用JSON
- MySQL :JDBC连接MySQL报错Unknown system variable 'query_cache_size'
- windows查看dll接口
- 硅谷大佬们屡次推荐的10本书,你看过几本?
- iozone - 性能压力测试工具
- iOS端抓包工具-stream
- linus 用的linux版本,Linus Torvalds的重大消息
- NO_ACCESS Protection
- 3种简单的键盘记录简单介绍
- DEVOPS架构师 -- 03Kubernetes进阶实践
- 教你快速给多段视频删除片尾的同时添加图片LOGO
- (一)java微信授权登录
- 曝光骗子QQ1052073458
- getDeclaredFields方法
- Mac一直弹框(xxx将对你的电脑造成伤害),关闭SIP
- traefik -- 流量复制
- [Perl语法篇] 变量作用域:our、local、my、state
热门文章
- vim调用python显示json数据
- iPhone7p与iPhoneX布局出现右边白边问题
- mybatis学习2之ResultMap结果集映射
- 正则表达式发明者_正则表达式 – 简介
- 【opencv】3.在一个opencv窗口中显示多个视频界面、画箭头、画掉头箭头
- 3.6 Git 分支 - 变基
- Git远程库版本回滚
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- 谷歌chrome浏览器的源码分析(七)
- ROS探索总结(十三)(十四)(十五)——导航与定位框架 move_base(路径规划) amcl(导航与定位)