我正在尝试在Visual Studio 2017的调试器下运行使用CMake生成的解决方案文件构建的程序,以便调试问题。但是,每当我尝试选择Start Debugging
或Start Without Debugging
时,我都会弹出以下错误。
无法启动程序 “E:\建立\ someprogram \建立\ 64 \调试\ ALL_BUILD
访问被拒绝。
乍一看,这个问题听起来像是here所描述的问题。然而,该错误据称在VS 2017 15.5中被修复,我目前使用15.6.7。并且已编译的可执行文件的位置不在RAM磁盘或网络驱动器上,而是在物理驱动器上。并且在没有调试器的情况下运行时会发生错误。
此外,我想知道可执行文件是否未正确配置,因为看起来错误与ALL_BUILD
目标有关,但在我的CMakeLists.txt
我有这个声明:
add_executable(someproject ${SOURCE_FILES})
我认为会添加可运行的可执行文件。它也在解决方案资源管理器中显示为子项目。
编译好的.exe
在Visual Studio之外运行很好,虽然它崩溃了,我正在尝试调试。奇怪的是,我不能从崩溃后出现的Abort/Retry/Ignore
对话框中输入Visual Studio调试器,只需单击它指示的Retry
;选择Visual Studio版本的窗口永远不会出现。
它似乎不是权限问题,因为我手动调整了具有所有权限的所有构建目录的权限,没有任何更改。我也使用管理员权限运行Visual Studio,它没有任何区别。另外,我在完全不同的机器上复制了构建过程(Windows 10,而不是Windows 7),并且发生了完全相同的错误,所以我怀疑这是一个CMake问题。
答案 0 :(得分:1)
您需要将另一个项目设置为启动项目(右键单击目标可执行项目df.replace("@$", "", regex=True)
并从上下文菜单中选择"someproject"
)。 "Set as StartUp Project"
是符号目标,未连接到可执行文件。