Access拒绝在Visual Studio中运行程序

El_*_*oco 6 cmake visual-studio-2012

到目前为止,我只使用Linux编写C++代码,但我想学习在Windows中使用CMake来简化操作.

首先,我编写了以下CMakeLists.txt:

cmake_minimum_required(VERSION 2.8)  
PROJECT( CMakeWin )

SET(CMAKE_BUILD_TYPE Release)

# find opencv and set variables
Set(OpenCV_DIR C:/Users/Erik/Documents/Libraries/opencv/build)
FIND_PACKAGE(OpenCV REQUIRED)


#set the default path for built executables to the "bin" directory
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

ADD_EXECUTABLE( ${PROJECT_NAME}
src/main.cpp 
)


TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS})
Run Code Online (Sandbox Code Playgroud)

当我运行CMake(使用Visual Studio 11配置)它似乎正常工作,但当我打开CMakeWin.sln项目并构建然后运行它,我得到

Unable to start program C:\..... The system cannot find the file 
specified.
Run Code Online (Sandbox Code Playgroud)

但我也收到了

access denied.
Run Code Online (Sandbox Code Playgroud)

当我直接进入Release或Debug文件夹并运行时

CMakeWin.exe
Run Code Online (Sandbox Code Playgroud)

它按原样运行.问题是什么?

编辑:

为了避免让visual studio试图运行ALL_BUILD,我不得不将CMakeWin设置为StartUp项目.请参阅https://simtk.org/forums/viewtopic.php?f=91&t=3676和以下评论.

Hei*_*erg 14

在 Visual Studio 中,右键单击您的项目并将其标记为“设置为启动项目”。

  • 谢谢!这应该是公认的答案。 (3认同)

Ric*_*son 4

在 Visual Studio 中,打开项目属性对话框(右键单击解决方案资源管理器窗格中的项目并选择属性)。转到“调试”并查看运行应用程序的命令行是什么。这很可能就是问题所在。