出于某种原因,CMake的C和C ++编译器默认设置为/usr/bin/qcc
。我跟着this post并尝试了命令
cmake -D CMAKE_C_COMPILER = / usr / bin / gcc -D CMAKE_CXX_COMPILER = / usr / bin / g ++
但我收到了错误
CMake错误:源目录[当前目录] / CMAKE_CXX_COMPILER = / usr / bin / g ++“不存在。
为什么CMake将我的命令解释为目录,设置CMake编译器的正确方法是什么?
答案 0 :(得分:8)
你有正确的想法,但你想要的命令行是:
cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ <path_to_source>
差异很微妙。 -D
和正在设置的变量之间不应该有空格,这就是CMake将变量赋值解释为目录的原因。此外,CMake将CXX
用于C ++特定变量,这使其与Make。
答案 1 :(得分:1)
它是CMAKE_CXX_COMPILER
,而不是C++
。