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工程的互相转换相关推荐

  1. Qt中为工程添加资源文件、给按钮添加图片

    Qt中为工程添加资源文件.给按钮添加图片 1.使用QIcon类.代码如下: QIcon icon;icon.addFile(tr("res/icon/wall.png"));ui- ...

  2. Qt创建的工程,无法编译,提示找到不文件Cannot find file,是怎么回事

    Qt创建的工程,无法编译,提示找到不文件,是怎么回事! 17:23:55: 为项目untitled执行步骤 ... 17:23:55: 正在启动 "D:\Qt\Qt5.4.0\5.4\min ...

  3. 【Qt】QtCreator导入cmake工程

    QtCreator导入cmake 一.ubuntu系统 1.配置cmake编译套件 2.导入cmake工程 二.windows系统 1.下载cmake 2.安装cmake 3.设置环境变量 4.添加c ...

  4. Qt 集成 FFmpeg 实现颜色格式转换

    目录 1. Qt 集成 FFmpeg 1.1 下载 FFmpeg 1.2 Qt 集成 FFmpeg 1.2.1 修改 .pro 文件 1.2.2 放入 dll 文件 1.2.3 代码中使用 FFmpe ...

  5. Python 中 PyQt5 + pycharm 调用 Qt Designer,将.ui文件转换成 .py 文件

    From:https://blog.csdn.net/qq_40666028/article/details/81069878 基于Qt Designer 和 pyuic 开发 UI 界面的方法:ht ...

  6. 【Qt】QtCreator无法调试终端程序,启动报错SIGSTOP

    1.问题描述 使用QtCreator调试终端程序时,因为收到信号SIGSTOP 而退出,无法调试程序. 2.解决方法 解决方式是,设置GDB不处理SIGSTOP , 在QtCreator中进入GDB命 ...

  7. 【Qt】QtCreator中自动补全注释

    1.简述 在QtCreator中编辑代码,可以自动补全函数注释,供doxygen使用并生成文档.doxygen的使用方法,后续会写一个详细的博文. 2.使用方法 在函数前分别输入"/**&q ...

  8. 201105阶段二qt创建简单工程

    目录 一.学习的知识点 qt的安装 qt项目 项目创建 项目例程 二.上课没有听懂或者没有理解的地方 三.当天学习的收获 一.学习的知识点 qt的安装 安装路径尽量不改,或者只修改盘符 https:/ ...

  9. Linux增加Qt模块,Qtcreator:linux系统下安装qtserialport模块

    在qt5.6之前是没有qeserialport模块的,要想使用该模块必须自己添加. 国产部分版本的操作系统可能有qt5.6的编译器,但是可能没有相应的库,这个时候也需要自己编译后进行安装. 如果你的机 ...

最新文章

  1. 机器学习视频第二章2
  2. logstash通过kafka传输nginx日志(三)
  3. tensorflow:Multiple GPUs
  4. jq处理返回来json_4个小窍门,让你在Python中高效使用JSON
  5. MySQL :JDBC连接MySQL报错Unknown system variable 'query_cache_size'
  6. windows查看dll接口
  7. 硅谷大佬们屡次推荐的10本书,你看过几本?
  8. iozone - 性能压力测试工具
  9. iOS端抓包工具-stream
  10. linus 用的linux版本,Linus Torvalds的重大消息
  11. NO_ACCESS Protection
  12. 3种简单的键盘记录简单介绍
  13. DEVOPS架构师 -- 03Kubernetes进阶实践
  14. 教你快速给多段视频删除片尾的同时添加图片LOGO
  15. (一)java微信授权登录
  16. 曝光骗子QQ1052073458
  17. getDeclaredFields方法
  18. Mac一直弹框(xxx将对你的电脑造成伤害),关闭SIP
  19. traefik -- 流量复制
  20. [Perl语法篇] 变量作用域:our、local、my、state

热门文章

  1. vim调用python显示json数据
  2. iPhone7p与iPhoneX布局出现右边白边问题
  3. mybatis学习2之ResultMap结果集映射
  4. 正则表达式发明者_正则表达式 – 简介
  5. 【opencv】3.在一个opencv窗口中显示多个视频界面、画箭头、画掉头箭头
  6. 3.6 Git 分支 - 变基
  7. Git远程库版本回滚
  8. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
  9. 谷歌chrome浏览器的源码分析(七)
  10. ROS探索总结(十三)(十四)(十五)——导航与定位框架 move_base(路径规划) amcl(导航与定位)