我是大学的学生。
我目前无法使用我的大学通常为 CS 学生提供的出色的 Ubuntu 机器。因此,我不得不在我的 Windows 10 笔记本电脑上设置 C/C++ 编码环境。经过多次试验和错误,我能够设置以下配置:
- IDE:Visual Studio Code(带有 C/C++ 扩展)
- 编译器:MinGW (GCC)
- 构建系统:CMake
直到大约两个小时前,一切都运行良好。在某些时候,CMake 用来编译我的代码的编译器切换到了 MSVC,而不是我最初设置的 GCC。我从 Visual Studio Code 命令面板运行了 CMake 配置命令,并将编译器设置回 GCC。现在,当我尝试运行 CMake 配置命令时,我遇到了各种 CMake 错误。如果我尝试使用非常基本的 CMakeLists.txt 文件创建一个新的 Hello World 项目,我会收到相同的错误消息。
以下是错误:
[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".
我唯一能想到的是,在第一次崩溃发生的时候,我注意到诺顿特别活跃,每当我尝试运行 CMake 命令时都会弹出。诺顿会以某种方式阻止我吗?
编辑
几乎可以肯定是诺顿。如果我在 Norton 运行完整系统扫描时尝试运行该配置,则该配置运行良好。如果我暂停扫描,配置将失败。如果我恢复,它工作正常。如何防止诺顿阻止对某些文件的访问?