cmake использует два разных пути компилятора - PullRequest
0 голосов
/ 22 октября 2018

Я новичок в cmake и пытаюсь получить опыт.У меня есть некоторые проблемы с cmake и путем компилятора.Я работаю с Windows 7. Как вы видите, cmake проверяет правильный компилятор:

Check for working C compiler: C:/Program Files (x86)/Embarcadero/Studio  
/19.0/bin/bcc32x.exe

Но тогда он ищет неправильный путь старого компилятора

(x86)\Embarcadero\RAD Studio\9.0\bin\

Я не могупонять, почему cmake выполняет поиск по этому пути и откуда он идет, и как решить эту проблему.Только путь к новому компилятору находится в переменных среды Windows.В CmakeCache все переменные отображаются в правильном пути:

//CXX compiler.
CMAKE_CXX_COMPILER:FILEPATH=C:/Program Files (x86)/Embarcadero/Studio   
/19.0/bin/bcc32x.exe

//C compiler.
CMAKE_C_COMPILER:FILEPATH=C:/Program Files (x86)/Embarcadero/Studio  
/19.0/bin/bcc32x.exe

То же самое для CMAKE_EXE_LINKER_FLAGS: INTERNAL, CMAKE_MODULE_LINKER_FLAGS: INTERNAL, CMAKE_SHARED_LINKER_FLAGS: ВНУТРЕННИЕ и ROOTD86 / Studio / STRING: STRING (STRING): STRING (STR): STRING (STR): STRING (STR): STRING (STRING): STRING (STRING): STRING (STRING): STRING (STR)19.0

Вот сообщение об ошибке

Check for working C compiler: C:/Program Files (x86)/Embarcadero/Studio  
/19.0/bin/bcc32x.exe
Check for working C compiler: C:/Program Files (x86)/Embarcadero/Studio    
/19.0/bin/bcc32x.exe -- broken
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.10/Modules
/CMakeTestCCompiler.cmake:52 (message):
The C compiler

"C:/Program Files (x86)/Embarcadero/Studio/19.0/bin/bcc32x.exe"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: C:/Users/cld/Desktop/ArbeitsOrdnerCommit/OrginalDownload 
/CMakeFiles/CMakeTmp

Run Build Command:"C:/ninja/ninja.exe" "cmTC_f5c4c"
[1/2] Building C object CMakeFiles\cmTC_f5c4c.dir\testCCompiler.c.obj

FAILED: CMakeFiles/cmTC_f5c4c.dir/testCCompiler.c.obj 

"C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\bin\bcc32x.exe"    
-I"C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\include\windows\crtl"    
-I"C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\include\windows\sdk" 
-I"C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\include\windows\rtl"
-I"C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\include\dinkumware64" 
-tM  -O0 -v -oCMakeFiles\cmTC_f5c4c.dir\testCCompiler.c.obj -c 
testCCompiler.c

CreateProcess failed: The system cannot find the file specified.
ninja: build stopped: subcommand failed.
...