VS2019+QT代码与QtCreator工程的互相转换

这篇具有很好参考价值的文章主要介绍了VS2019+QT代码与QtCreator工程的互相转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

QT Creator的project转换成Visual Studio的project

在windows10下,运行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.4.1的msvc2017_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文件的实例:文章来源地址https://www.toymoban.com/news/detail-537431.html

 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 \  
       

(VCINCLUDE) (VCINCLUDE) 
(VC_INCLUDE)/../atlmfc/include \  
       

(WINSDKINCLUDE)/shared (WINSDKINCLUDE)/shared 
(WINSDK_INCLUDE)/um  
      
    DEPENDPATH += . \  
       

(WINSDKLIB)/um/x64 (WINSDKLIB)/um/x64 
(VC_LIB)/amd64 \  
       

(QTDIR)/lib (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"

(WINSDKLIB)/um/x64" −L"(WINSDKLIB)/um/x64" −L"
(VC_LIB)/amd64" \  
        -L"

(QTDIR)/lib" −L"(QTDIR)/lib" −L"
(QTDIR)/bin" \  
        -lWtsapi32 \  
        -lPathcch \  
        -l3DScanningEngine \  
        -lUserenv \  
        -lwinmm \  
        -lMf \  
        -lMfplat  
      
    include(MyProject.pri) 

到了这里,关于VS2019+QT代码与QtCreator工程的互相转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VS2022 And QtCreator10 调试 Qt 源码教程

    简 述: 记录使用 Visual Studo 2022 和 QtCreator10 调试 Qt 5.15 源码和 加载 .pdb 的方法。 本文初发于 “ 偕臧的小站 ”,同步转载于此。 源码 :*.h *.cpp 符号调试包 :*.pdb (属 Windows 专有) 动态链接库: *.dll 静态链接库: *.lib (通常是前者,也可以是 .dll 的符号信息,编译时刻使用

    2024年02月12日
    浏览(30)
  • qt qtcreator qt+vs 编译器 关于QT、QT creator和编译器,新手入门必知的一些知识关于QT、QT creator和编译器,新手入门必知的一些知识_qt和qtcreator的区别_炫彩灵感的博客-CSDN博客

    对于一个新手而言,基本体会如下: Qt Creator Qt Creator优势 可以实现Ui和代码无缝切换。(VS不行) 对于汉字的支持更好 提示功能做的更好。 比如:#include等,敲出#inc即有提示。 qmake非常好用 项目管理更方便,可以添加pri之类的来管理子模块 Qt Creator劣势(IDE本身巨大劣势)

    2024年02月11日
    浏览(46)
  • 【无标题】QT应用编程: QtCreator配置Git版本控制(码云)

    @QT应用编程: QtCreator配置Git版本控制(码云) 感谢:DS小龙哥的文章,这篇主要参考小龙哥的内容。 https://cloud.tencent.com/developer/article/1930531?areaSource=102001.15traceId=W2mKALltGu5f8-HOI8fsN Qt Creater 自带了git支持。但是一直没搞明白怎么用。这里是对这个功能用起来的记录。 下载安装git客

    2024年02月12日
    浏览(34)
  • Qt:日期与时间戳互相转换Demo

    1、dialog.h 2、dialog.cpp 3、运行界面:  

    2024年02月14日
    浏览(33)
  • VS2019社区版和QT安装记录

    下载 VS2019:  Visual Studio 2019 版本 16.11 发行说明 | Microsoft Learn https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes 选择第一个,下载社区版。或者这里下载。 比较简单的方式就是直接打开,网络安装。但微软提供了先下载,后离线的方法,使得我们可以做一个备份 。

    2024年02月11日
    浏览(44)
  • Qt5.14.2安装教程和VS2019中的qt环境配置

    Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。 Qt 还存在 Python、Ruby、Perl 等脚本语言的绑定, 也就是说可以使用脚本语言开发基于

    2024年02月07日
    浏览(44)
  • VS2019 + Qt : setToolTip的提示内容出现乱码

    在使用 setToolTip() 时, 标签提示只有英文是对的,中文是乱码! 应该是编码出了问题。默认情况下,Qt使用的是UTF-8编码,我就查看了一下这个在VS2019中cpp文件的编码: 可以看到,编码是ANSI,明显不对! 解决方法一: 我就转换了一下编码,转为UTF-8. 然后编译,中文就不再是

    2024年02月12日
    浏览(41)
  • VS2019搭建QT6.4开发环境【多图警告^-^】

    安装很简单,这里就不再赘述。 附上VS下载地址:Visual Studio 全家桶 这里就不绕弯子,先说明从5.15版本开始,qt需要下载在线下载器安装。 ** QT下载地址** ; 推荐使用网易邮箱或者QQ邮箱注册,因为会有回执确认操作。 勾选第二条,不要发送信息: 重点选择两个MSVC和MinGW:

    2024年02月04日
    浏览(53)
  • QT学习笔记(三)——vs2019+Qt实现打开影像并以鼠标为中心用滚轮控制图片缩放

    之前写了一个博客讲怎么显示一张影像,那个是基于Qpainter的 今天使用QLabel来显示影像,并且用鼠标滚轮控制缩放。 关于图像的打开和显示,主要参考这个博客 关于如何使图片自适应窗口与铺满窗口,可以参考这个博客。 这两个博客出自同一作者,都很详细。 其中按照第二

    2024年02月09日
    浏览(34)
  • VS2019生成的DLL,给QT(MinGW版本)使用的小结

    a 基于生成一个DLL的工程(要注意生成是x86,还是x64的,需要和后面的QT的App工程对应),这里不多解释了,网上多的是; b 在cpp实现文件里,假如要导出一个这样的函数: 那么,它对应的头文件,如abc.h,一定如下:即在头文件里,使用了extern \\\"C\\\"来限制这个函数名,这样的

    2024年02月12日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包