Ошибка конфигурации CMake: различные ошибки, связанные с невозможностью открытия файлов при попытке настройки - PullRequest
0 голосов
/ 13 апреля 2020

Я студент университета.

В настоящее время у меня нет доступа к замечательным машинам Ubuntu, которые мой университет обычно предоставляет студентам CS. Поэтому мне пришлось настроить среду кодирования C / C ++ на моем ноутбуке Windows 10. После долгих проб и ошибок я смог настроить следующую конфигурацию:

  • IDE: код Visual Studio (с расширением C / C ++)
  • Компилятор: MinGW (G * 1024) *)
  • Система сборки: CMake

Все работало нормально примерно до двух часов go. В какой-то момент компилятор, который CMake использовал для компиляции моего кода, переключился на MSV C вместо G CC, который я изначально установил. Я запустил команду настройки CMake из палитры команд кода Visual Studio и снова установил для компилятора G CC. Теперь я получаю всевозможные ошибки CMake при попытке запустить команду конфигурации CMake. Если я пытаюсь создать новый проект Hello World с очень простым c CMakeLists.txt файлом, я получаю те же сообщения об ошибках.

Вот ошибки:

[main] Configuring folder: Test 
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_C_COMPILER:FILEPATH=C:\MinGW\bin\gcc.exe -DCMAKE_CXX_COMPILER:FILEPATH=C:\MinGW\bin\g++.exe -Hc:/Users/jwhen/Desktop/Test -Bc:/Users/jwhen/Desktop/Test/build -G "MinGW Makefiles"
[cmake] Not searching for unused variables given on the command line.
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:677 (file):
[cmake]   file STRINGS file
[cmake]   "C:/Users/jwhen/Desktop/Test/build/CMakeFiles/3.17.0/CompilerIdC/a.exe"
[cmake]   cannot be read.
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCCompiler.cmake:116 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:761 (file):
[cmake]   file failed to open for reading (Permission denied):
[cmake] 
[cmake]     C:/Users/jwhen/Desktop/Test/build/CMakeFiles/3.17.0/CompilerIdC/a.exe
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCCompiler.cmake:116 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:764 (string):
[cmake]   string begin index: 1 is out of range 0 - 0
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCCompiler.cmake:116 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:772 (math):
[cmake]   math cannot parse the expression: " * 16 + ": syntax error, unexpected
[cmake]   exp_TIMES (2).
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCCompiler.cmake:116 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:774 (file):
[cmake]   file failed to open for reading (Permission denied):
[cmake] 
[cmake]     C:/Users/jwhen/Desktop/Test/build/CMakeFiles/3.17.0/CompilerIdC/a.exe
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCCompiler.cmake:116 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:815 (file):
[cmake]   file failed to open for reading (Permission denied):
[cmake] 
[cmake]     C:/Users/jwhen/Desktop/Test/build/CMakeFiles/3.17.0/CompilerIdC/a.exe
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCCompiler.cmake:116 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] -- The C compiler identification is GNU 8.2.0
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:677 (file):
[cmake]   file STRINGS file
[cmake]   "C:/Users/jwhen/Desktop/Test/build/CMakeFiles/3.17.0/CompilerIdCXX/a.exe"
[cmake]   cannot be read.
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake:111 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:761 (file):
[cmake]   file failed to open for reading (Permission denied):
[cmake] 
[cmake]     C:/Users/jwhen/Desktop/Test/build/CMakeFiles/3.17.0/CompilerIdCXX/a.exe
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake:111 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:764 (string):
[cmake]   string begin index: 1 is out of range 0 - 0
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake:111 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:772 (math):
[cmake]   math cannot parse the expression: " * 16 + ": syntax error, unexpected
[cmake]   exp_TIMES (2).
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake:111 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:774 (file):
[cmake]   file failed to open for reading (Permission denied):
[cmake] 
[cmake]     C:/Users/jwhen/Desktop/Test/build/CMakeFiles/3.17.0/CompilerIdCXX/a.exe
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake:38 (CMAKE_DETERMINE_COMPILER_ID_CHECK)
[cmake]   C:/Program Files/CMake/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake:111 (CMAKE_DETERMINE_COMPILER_ID)
[cmake]   CMakeLists.txt:3 (project)
[cmake] 
[cmake] 
[cmake] -- The CXX compiler identification is GNU 8.2.0
[cmake] -- Check for working C compiler: C:/MinGW/bin/gcc.exe
[cmake] -- Check for working C compiler: C:/MinGW/bin/gcc.exe - works
[cmake] -- Detecting C compiler ABI info
[cmake] -- Detecting C compiler ABI info - failed
[cmake] -- Detecting C compile features
[cmake] -- Detecting C compile features - done
[cmake] -- Check for working CXX compiler: C:/MinGW/bin/g++.exe
[cmake] -- Check for working CXX compiler: C:/MinGW/bin/g++.exe - works
[cmake] -- Detecting CXX compiler ABI info
[cmake] -- Detecting CXX compiler ABI info - failed
[cmake] -- Detecting CXX compile features
[cmake] -- Detecting CXX compile features - done
[cmake] -- Configuring incomplete, errors occurred!
[cmake] See also "C:/Users/jwhen/Desktop/Test/build/CMakeFiles/CMakeOutput.log".
[cmake] See also "C:/Users/jwhen/Desktop/Test/build/CMakeFiles/CMakeError.log".

Единственное, о чем я могу думать, это то, что примерно в то время, когда произошел первый взлом sh, я заметил, что Нортон был особенно активен и появлялся, когда я пытался запустить команду CMake. Может ли Нортон каким-то образом блокировать меня?

Редактировать

Это почти наверняка Нортон. Конфигурация работает нормально, если я пытаюсь запустить ее, пока Norton выполняет полное сканирование системы. Если я приостановлю сканирование, настройка завершится неудачно. Если я возобновлю, это работает нормально. Как я могу запретить Norton блокировать доступ к определенным файлам?

...