为什么CMake使用/ usr / bin / cc(c ++)而不是我在命令中给出的编译器?
bengt@bengt-VirtualBox:/usr/local/src/libftdi1-1.0$ cd build
bengt@bengt-VirtualBox:/usr/local/src/libftdi1-1.0/build$ sudo rm -R *
[sudo] password for bengt:
bengt@bengt-VirtualBox:/usr/local/src/libftdi1-1.0/build$ sudo cmake -DMAKE_C_COMPILER=/usr/bin/arm-linux-gnueabi-gcc-4.7 -DMAKE_CXX_COMPILER=/usr/bin/arm-linux-gnueabi-g++-4.7 ..
-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
编译器存在:
bengt@bengt-VirtualBox:/usr/local/src/libftdi1-1.0/build$ /usr/bin/arm-linux-gnueabi-gcc-4.7 -dumpversion
4.7
答案 0 :(得分:2)
您正在设置
MAKE_C_COMPILER
您需要设置
CMAKE_C_COMPILER
类似于CXX编译器。使用
$ sudo cmake -DCMAKE_C_COMPILER=/usr/bin/arm-linux-gnueabi-gcc-4.7 \
-DCMAKE_CXX_COMPILER=/usr/bin/arm-linux-gnueabi-g++-4.7 ..