Visual Studio 2019按F5/Ctrl+F5运行CMake生成项目提示访问被拒绝
问题原因
CMake生成Visual Studio解决方案时,会默认将ALL_BUILD这个虚拟构建项目设为启动项,该项目仅用于执行构建逻辑,本身不对应任何可执行程序,因此VS尝试运行它时会抛出「Access is Denied」错误,和权限、exe存放路径无关,这就是你之前修改输出目录、复制exe都不生效的根本原因。
解决方案
临时解决(单次生成解决方案有效)
- 打开生成的
.sln文件,在解决方案资源管理器中找到自己的业务项目(本示例中为helloworld) - 右键点击该项目,选择「设置为启动项目」
- 再次按下F5调试或Ctrl+F5直接运行即可正常执行
永久解决(CMake配置生效,后续生成解决方案无需手动调整)
在你的CMakeLists.txt末尾添加如下配置:
set(VS_STARTUP_PROJECT ${PROJECT_NAME})
重新运行CMake生成解决方案后,默认启动项就会自动设置为你指定的业务项目,无需手动修改。
内容的提问来源于stack exchange,提问作者Jl arto
相关产品推荐
相关产品推荐

