CMake是一个跨平台编译工具,可以生成各平台的makefile,非常方便。
关于“Visual Studio调试Linux平台的C++程序”,请参照我的另一篇文章,https://blog.csdn.net/liudi_ly/article/details/104110079
构建CMake工程:
打开Visual Studio,新建CMake Project,配置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