【问题标题】:Why does CMake ignore compiler directives为什么 CMake 忽略编译器指令
【发布时间】:2014-02-15 09:29:50
【问题描述】:

为什么 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

【问题讨论】:

    标签: compiler-construction cmake cross-compiling


    【解决方案1】:

    你正在设置

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

    【讨论】:

      猜你喜欢
      • 2017-01-16
      • 2018-09-06
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 2018-06-09
      相关资源
      最近更新 更多