Невозможно запустить исполняемый файл CMake с отладчиком или без него в Visual Studio 2017: «Доступ запрещен». - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь запустить программу, созданную с помощью сгенерированного CMake файла решения, в отладчике Visual Studio 2017 для устранения проблемы. Однако всякий раз, когда я пытаюсь выбрать Start Debugging или Start Without Debugging, я получаю следующее всплывающее сообщение об ошибке.

Невозможно запустить программу «E: \ построить \ someprogram \ построить \ x64 \ Debug \ ALL_BUILD

Доступ запрещен.

На первый взгляд проблема звучала так же, как описанная здесь . Тем не менее, эта ошибка была исправлена ​​в VS 2017 15.5, и в настоящее время я использую 15.6.7. И расположение скомпилированного исполняемого файла находится не на диске RAM или сетевом диске, а на физическом диске. И ошибка возникает при запуске без также отладчика.

Также меня интересовало, был ли исполняемый файл неправильно сконфигурирован, так как похоже, что ошибка связана с целью ALL_BUILD, но в моем CMakeLists.txt у меня есть это объявление:

add_executable(someproject ${SOURCE_FILES})

Я бы подумал, что это добавит исполняемый файл для запуска. Он также отображается как подпроект в обозревателе решений.

Скомпилированный .exe нормально работает вне Visual Studio, хотя и вылетает, что я пытаюсь отладить. Странно, я не могу войти в отладчик Visual Studio из диалогового окна Abort/Retry/Ignore, которое появляется после сбоя, нажав Retry, как указано в инструкции; окно выбора версии Visual Studio никогда не появляется.

Кажется, это не проблема с разрешениями, так как я вручную настроил разрешение для всех каталогов сборки со всеми разрешениями, без изменений. Я также использую Visual Studio с правами администратора, и это не имеет значения. Кроме того, я повторил процесс сборки на совершенно другом компьютере (Windows 10, в отличие от Windows 7), и возникла точно такая же ошибка, поэтому я подозреваю, что это проблема CMake.

1 Ответ

0 голосов
/ 05 мая 2018

Вам нужно установить другой проект в качестве запускаемого проекта (щелкните правой кнопкой мыши по целевому исполняемому проекту "someproject" и выберите "Set as StartUp Project" в контекстном меню). ALL_BUILD является символической целью и не подключен к исполняемому файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...