【问题标题】:how to compile armadillo library with specified gcc?如何使用指定的 gcc 编译犰狳库?
【发布时间】:2014-03-11 13:13:02
【问题描述】:

根据犰狳中的自述文件,输入“cmake .”命令后,再输入“make”命令,打印如下错误信息。

Scanning dependencies of target armadillo
[100%] Building CXX object CMakeFiles/armadillo.dir/src/wrapper.cpp.o
In file included from armadillo-4.100.2/src/wrapper.cpp:8:
armadillo-4.100.2/build_tmp/include/armadillo_bits/compiler_setup.hpp:125:6: error: #error "*** Need a newer compiler ***"
make[2]: *** [CMakeFiles/armadillo.dir/src/wrapper.cpp.o] Error 1
make[1]: *** [CMakeFiles/armadillo.dir/all] Error 2
make: *** [all] Error 2

我阅读了 compiler_setup.hpp 文件。我发现失败是由于默认 gcc 低。但是用我更高的gcc编译很热?

【问题讨论】:

    标签: c++ gcc cmake armadillo


    【解决方案1】:

    Make 监听环境变量,您也可以在命令行上设置。试试

     $ CXX=g++-4.8 make
    

    和g++-4.8(如果有的话)都可以使用。另一个技巧是使用

     $ cd /usr/local/bin && ln -s /usr/bin/g++-4.8 g++
    

    因为会先查询/usr/local/bin中的路径。

    【讨论】:

    • -- 配置犰狳 4.100.2 -- CMAKE_SYSTEM_NAME = Linux -- CMAKE_CXX_COMPILER_ID = GNU -- CMAKE_CXX_COMPILER_VERSION = 4.1.2 -- CMAKE_COMPILER_IS_GNUCXX = 1 -- MKL_FOUND = NO -- ACMLMP_FOUND = NO -- ACML_FOUND = NO -- LAPACK_FOUND = NO -- BLAS_FOUND = NO -- OpenBLAS_FOUND = NO -- CLAPACK_FOUND = NO -- CBLAS_FOUND = NO -- ARPACK_FOUND = NO -- -- *** Armadillo 的运行时库组件将使用以下库:-- *** ARMA_LIBS =
    • 我试试你的第一种方法。但它也不起作用。第二个,因为我不是root,所以我做不到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    相关资源
    最近更新 更多