VS2019 Cmake

1 创建cmake项目

在这里插入图片描述


2 开发测试

2.1 切换CMake视图

在这里插入图片描述


2.2 切换文件夹视图

【切换文件夹视图用于创建文件夹】
在这里插入图片描述
在这里插入图片描述


2.3 CMakeLists.txt

【cmake-demo文件夹下的CmakeLists.txt】子文件夹

# CMakeList.txt: cmake-demo 的 CMake 项目,在此处包括源代码并定义
# 项目特定的逻辑。
#
cmake_minimum_required (VERSION 3.8)

# 将源代码添加到此项目的可执行文件。
add_executable (cmake-demo "test/cmake-demo.cpp" "test/cmake-demo.h")

# TODO: 如有需要,请添加测试并安装目标。

【linux-cmake文件夹下的CmakeLists.txt】顶层文件夹

# CMakeList.txt: 顶层 CMake 项目文件,在此处执行全局配置
# 并包含子项目。
#
cmake_minimum_required (VERSION 3.8)

project ("linux-cmake")

# 包含子项目。
add_subdirectory ("cmake-demo")


2.4 win调试

在这里插入图片描述


3 linux cmake调试

3.1 解决cMake环境不一致问题

【CMake 3.8.x 或更高版本不可用于远程系统。】解决方案

# 卸载2.8版本
yum uninstall cmake


# 源安装方法
yum install cmake3
ln -s /usr/bin/cmake3 /usr/local/bin/cmake
ln -s /usr/bin/cmake3 /usr/bin/cmake

# 手动安装方法
wget http://www.cmake.org/files/v3.8/cmake-3.8.2.tar.gz
tar -zxvf cmake-3.8.2.tar.gz
cd cmake-3.8.2
./configure
make
sudo make install
cmake --version

3.2 配置项目cmake编译器和变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3.4 可编辑CMakeSettings.json修改生成路径[最好不要改]

    {
      "name": "Linux-GCC-Debug",
      "generator": "Unix Makefiles",
      "configurationType": "Debug",
      "cmakeExecutable": "/usr/bin/cmake",
      "remoteCopySourcesExclusionList": [ ".vs", ".git", "out" ],
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "inheritEnvironments": [ "linux_x64" ],
      "remoteMachineName": "-1107493118;192.169.10.3 (username=kaldi, port=22, authentication=Password)",
      "remoteCMakeListsRoot": "/data1/kaldi/kaldi-static/${projectDirName}/src",
      "remoteBuildRoot": "/data1/kaldi/kaldi-static/${projectDirName}/out/build/${name}",
      "remoteInstallRoot": "/data1/kaldi/kaldi-static/${projectDirName}/out/install/${name}",
      "remoteCopySources": true,
      "rsyncCommandArgs": "-t --delete --delete-excluded",
      "remoteCopyBuildOutput": false,
      "remoteCopySourcesMethod": "rsync",
      "addressSanitizerRuntimeFlags": "detect_leaks=0",
      "variables": [
        {
          "name": "CMAKE_INSTALL_PREFIX",
          "value": "/data1/kaldi/kaldi-static/webrtcvad-vs/out/install/Linux-GCC-Debug",
          "type": "PATH"
        },
        {
          "name": "CMAKE_BUILD_TYPE",
          "value": "Debug",
          "type": "STRING"
        }
      ]
    }

3.5 选择启动器开始调试

在这里插入图片描述
在这里插入图片描述


3.6 调试文件不存在

【全部清理】再【全部重新生成】即可。或者重启visual studio

在这里插入图片描述


Reference

VS2019CMake项目的简单使用
【Visual Studio 2019】创建 导入 CMake 项目
ubuntu cmake升级解决与vs2017不同步问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: QT是一个跨平台的C++图形用户界面应用程序开发框架,而VS2019是微软推出的集成开发环境。CMake是一个开源的跨平台构建工具。 首先,QT和VS2019都是用于开发应用程序的工具,但它们的定位和主要功能有所不同。QT专注于图形用户界面的开发,提供了丰富的UI控件库和跨平台支持,因此非常适合开发具有复杂用户界面的应用程序。而VS2019则是一个完整的集成开发环境,它提供了编译、调试、测试等各种开发工具和功能,适用于各种类型的应用程序开发。 对于项目构建,CMake是一个非常实用的构建工具。它使用CMake语言来描述项目的构建过程,并根据不同平台和编译器生成相应的构建脚本。这使得开发者可以在不同的开发环境中无缝切换,并更好地管理项目的依赖关系。CMake也可以与QT和VS2019一起使用,为项目的构建过程提供更好的管理和可移植性。 在选择使用QT还是VS2019CMake时,需要根据具体的开发需求和环境来决定。如果你的应用程序需要具有复杂的用户界面,跨平台支持且希望使用现成的UI控件库,那么QT是一个很好的选择。而如果你需要一个完整的开发环境,包括编译、调试、测试等工具,那么你可以选择使用VS2019。而CMake可以用于更好地管理项目的构建过程,无论是使用QT还是VS2019开发,都可以考虑使用CMake来提高项目的可移植性和可维护性。 总之,QT、VS2019CMake都是非常有用的开发工具,可以根据具体的开发需求来选择使用哪个或者使用它们的组合来更好地完成项目的开发和构建。 ### 回答2: Qt是一个跨平台的应用程序开发框架,它提供了丰富的功能和组件,使开发者能够快速、高效地开发各种类型的应用程序。而VS2019是微软的一款集成开发环境,用于开发各种类型的应用程序。而CMake是一个跨平台的构建工具,可以方便地管理和构建项目。 Qt与VS2019CMake之间可以进行结合使用来进行开发。首先,Qt提供了与VS2019的集成插件,可以让开发者在VS2019中直接进行Qt项目的开发和调试,方便快捷。而CMake可以与Qt和VS2019配合使用,通过CMakeLists.txt文件来管理和构建项目,使得项目的构建更加简洁、清晰。 使用Qt进行开发可以让开发者快速创建用户界面和处理不同平台之间的差异。与使用VS2019开发相比,Qt提供了更加丰富的图形界面组件和功能,使得开发者可以更加轻松地创建各种类型的界面。而使用CMake可以有效地管理项目的依赖关系和构建过程,提高开发者的开发效率。 总的来说,Qt、VS2019CMake是三个不同的开发工具,互相结合使用可以提高开发效率和项目的可维护性。Qt提供了丰富的功能和组件,VS2019提供了强大的集成开发环境,而CMake可以方便地管理和构建项目。开发者可以根据自己的需求和偏好选择合适的工具组合来进行开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值