Visual Studio调试Linux平台的C++程序(CMake)

别等时光非礼了梦想. 提交于 2020-01-30 10:24:57

CMake是一个跨平台编译工具,可以生成各平台的makefile,非常方便。

关于“Visual Studio调试Linux平台的C++程序”,请参照我的另一篇文章,https://blog.csdn.net/liudi_ly/article/details/104110079

构建CMake工程:

打开Visual Studio,新建CMake Project,配置CMake settings for Linux,
CMake settings for Linux

选择Manage Configurations,新建一个configuration:
在这里插入图片描述

自动生成的CMakeSettings.json文件如下:

{
    "configurations": [
        {
            "name": "x64-Debug",
            "generator": "Ninja",
            "configurationType": "Debug",
            "inheritEnvironments": [ "msvc_x64_x64" ],
            "buildRoot": "${projectDir}\\out\\build\\${name}",
            "installRoot": "${projectDir}\\out\\install\\${name}",
            "cmakeCommandArgs": "",
            "buildCommandArgs": "-v",
            "ctestCommandArgs": "",
            "variables": []
        },
        {
            "name": "Linux-Debug",
            "generator": "Unix Makefiles",
            "configurationType": "Debug",
            "cmakeExecutable": "/usr/bin/cmake",
            "remoteCopySourcesExclusionList": [ ".vs", ".git", "out" ],
            "cmakeCommandArgs": "",
            "buildCommandArgs": "",
            "ctestCommandArgs": "",
            "inheritEnvironments": [ "linux_x64" ],
            "remoteMachineName": "${defaultRemoteMachineName}",
            "remoteCMakeListsRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/src",
            "remoteBuildRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/out/build/${name}",
            "remoteInstallRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/out/install/${name}",
            "remoteCopySources": true,
            "rsyncCommandArgs": "-t --delete --delete-excluded",
            "remoteCopyBuildOutput": false,
            "remoteCopySourcesMethod": "rsync",
            "addressSanitizerRuntimeFlags": "detect_leaks=0",
            "variables": []
        }
    ]
}

保存json配置文件后,选择刚刚配置的Linux-Debug,再执行对应的linux版本执行即可。(有时会出现无法显示Linux的可执行程序,可以重启一下studio就可以了。)
在这里插入图片描述

方法参考:
CMake Overview页的提示页
Get started with CMake
Configure a Linux CMake project

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!