Visual Studio 2015 + cmake编译QT5程序

概述

  • 由于QT的集成开发环境QTCreate,在代码调试功能上远不及Visual Studio方便,因此,在Windows平台,可以使用Visual Studio来开发调试QT程序,本文章就主要介绍下,如何使用CMAKE编译QT5程序,并使用Visual Studio 2015来运行调试QT程序。

准备工作

  • 首先安装QT5, 我使用的是QT5.9。然后安装Visual Studio 2015和cmake,cmake要配置环境变量。
    在这里插入图片描述
    在这里插入图片描述
  • QT编译器介绍
    • MSVC:Microsoft Visual C++ Compiler,即微软自己的编译器。
    • MinGW:Minimalist GNU for Windows,它是将GNU开发工具移植到Win32平台下的产物,即一套Windows上的GNU工具集。

使用QT create创建工程

  • 首先我们要用Qt create创建一个工程,完成界面布局。
    在这里插入图片描述
  • 选择编译器的时候要注意,因为我们要使用Visual Studio进行编译调试。因此这里编译器必须选择MSVC,我这里就选择MSVC2015 32位的编译器。
  • 在UI界面完成简单布局,就可以关掉Qt Create了。
    在这里插入图片描述

设置QT环境变量

  • 接下来需要设置下QT的环境变量。找到QT的安装目录,然后找到编译器所在目录。
    在这里插入图片描述
  • 可以看到有好几个编译器,我们刚才创建工程时选择的是MSVC2015,这里就选择MSVC2015对应的目录。
  • 然后要一直选到Qt5Config.cmake文件所在的目录
    在这里插入图片描述
  • 复制目录设置环境变量
    在这里插入图片描述
    在这里插入图片描述
  • 这里注意,变量名一定要写成Qt5_DIR,如果使用的是QT4,变量名要写成QTDIR。路径最好不要包含中文。
  • 设置完重启下电脑。

创建cmake文件

  • 创建一个编译目录build_x86,和一个cmake文件
  • 直接看下目录结构
  •   ├── build_x86
      ├── CMakeLists.txt
      └── demo1
      	├── demo1.pro
      	├── main.cpp
      	├── widget.cpp
      	├── widget.h
      	└── widget.ui
    
  • CMakeLists.txt内容
  •   cmake_minimum_required(VERSION 3.10.0)
    
      project(QtDemo)
    
      #开启MOC、RCC和UIC,则会在预处理之前先进行MOC、RCC和UIC操作
      set(CMAKE_AUTOMOC ON)
      set(CMAKE_AUTORCC ON)
      set(CMAKE_AUTOUIC ON) 
    
      #查找需要的Qt包
      find_package(Qt5 REQUIRED Core Gui Widgets)
      # 将各个文件夹下的所有文件打包
      SET(SRC_LISTS ${PROJECT_SOURCE_DIR}/demo1/main.cpp ${PROJECT_SOURCE_DIR}/demo1/widget.cpp)
    
      # 包含头文件所在目录
      include_directories(${PROJECT_SOURCE_DIR}/demo1)
      
      # 去除命令框
      if(MSVC)
      	set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")
      endif()
      
      # 生成可执行程序
      add_executable(QtDemo ${SRC_LISTS})       
    
      # 链接QT库
      target_link_libraries(QtDemo Qt5::Core Qt5::Gui Qt5::Widgets)
    

编译运行

  • 在build_x86目录下打开cmd,执行以下命令
  •   cmake -G "Visual Studio 14 2015" ..
      cmake --build ./ --config Debug
    
  • 如果成功,会在build_x86\Debug目录下生成可执行程序。
    在这里插入图片描述
  • 现在还无法运行,我们需要将QT安装目录下的库拷贝过来。
    在这里插入图片描述
  • 可以使用Everything全局搜索下
    在这里插入图片描述
  • 我们选择的是MSVC2015编译器,因此要拷贝对应编译器下的动态库
    在这里插入图片描述
  • 这时候直接双击可执行程序,就可以运行了
    在这里插入图片描述

使用VS2015进行调试

  • 如果需要调试,直接双击build_x86目录下的sln文件,就可以用VS2015打开了。
    在这里插入图片描述
  • 现在就可以直接在VS中调试QT程序了
    在这里插入图片描述
  • VS2015中无法打开QT的UI界面,因此如果还需要在UI界面继续添加控件,只需要双击工程下的pro文件,用Qt create打开重新设置界面就行了。

猜你喜欢

转载自blog.csdn.net/new9232/article/details/129867542