1

I am a student in University.

I currently do not have access to the wonderful Ubuntu machines my University normally provides for CS students. As such, I've had to set up a C/C++ coding environment on my Windows 10 laptop. After much trial and error, I was able to set up the following configuration:

  • IDE: Visual Studio Code (with C/C++ extension)
  • Compiler: MinGW (GCC)
  • Build System: CMake

Everything was working fine until about two hours ago. At some point, the compiler CMake was using to compile my code switched over to MSVC instead of GCC which I had originally set it to. I ran the CMake configuration command from the Visual Studio Code command palette and set the Compiler back to GCC. Now I am getting all sorts of CMake errors when I try to run the CMake configuration command. If I try and create a new Hello World project with a very basic CMakeLists.txt file, I get the same error messages.

Here are the errors:

[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".

The only thing I can think of is that around the time the first crash occurred, I noticed Norton being particularly active and popping up whenever I tried to run a CMake command. Could Norton somehow be blocking me?

Edit

It is almost certainly Norton. The configuration works fine if I try and run it while Norton is running a full system scan. If I pause the scan, the configuration fails. If I resume, it works fine. How can I prevent Norton from blocking access to certain files?

halfer
  • 19,824
  • 17
  • 99
  • 186
Joe Henry
  • 11
  • 1
  • 3
  • Welcome to Stack Overflow! It sounds like you will have to change your Norton settings, or use the work-around you have already identified using the full system scan. Have you tried running as an administrator? Perhaps, that may help. It's possible you will get more useful help for an issue like this on the [Security](https://security.stackexchange.com/) or [Server Fault](https://serverfault.com/) site. I prefer doing Windows development in a VM, where there are no such anti-virus roadblocks. :) – Kevin Apr 13 '20 at 11:56
  • @Joe Henry: if you are already working using Ubuntu machines, try to set up [WSL on your Win10 PC](https://learn.microsoft.com/en-gb/windows/wsl/install-win10). – dboy Apr 13 '20 at 21:51

0 Answers0