C++ 在makefile中设置GCC路径

C++ 在makefile中设置GCC路径,c++,c++11,gcc,makefile,gnu-make,C++,C++11,Gcc,Makefile,Gnu Make,每当我构建包时,它都使用/usr/bin/g++(系统编译器)。 我想用C++11构造构建我的包。我尝试了-std=c++11选项,但系统编译器显示无法识别的选项。 我想从另一个gcc编译器构建我的包,该编译器将作为包依赖项的一部分下载 那么,如何在Makefile中指定gcc编译器的位置呢?有多种方法可以实现您想要的: 仅为将运行的进程设置环境变量CXX: $ CXX=/path-to-your-compiler/g++ make 在shell中导出环境变量CXX: $ CXX=/path

每当我构建包时,它都使用
/usr/bin/g++
(系统编译器)。 我想用C++11构造构建我的包。我尝试了
-std=c++11
选项,但系统编译器显示无法识别的选项。 我想从另一个
gcc
编译器构建我的包,该编译器将作为包依赖项的一部分下载


那么,如何在Makefile中指定
gcc
编译器的位置呢?

有多种方法可以实现您想要的:

  • 仅为将运行的进程设置环境变量
    CXX

    $ CXX=/path-to-your-compiler/g++ make
    
  • 在shell中导出环境变量
    CXX

    $ CXX=/path-to-your-compiler/g++
    $ export CXX
    $ make
    
  • make
    的命令行中设置
    CXX

    $ make CXX=/path-to-your-compiler/g++
    
  • 在makefile中:

    CXX := /path-to-your-compiler/g++
    
  • 请注意,在
    make
    的命令行中设置变量将覆盖其他值,在makefile中设置的变量将覆盖从环境中获取的变量(除非提供了命令行选项
    -e
    --environment overrides

    在makefile中,您仍然可以使用以下指令通过其他方式覆盖任何值集:

    override CXX := /path-to-your-compiler/g++
    

    看@考えネロク 如何设置?这是通过export命令实现的吗?它可以简单地在makefile中设置。您尝试过devtoolset吗?我可以在makefile中基于机器拱(32或64)设置路径吗?您的确切意思是什么?基于目标拱门或机器拱门?无论如何,有用的东西:设置路径后,我得到共享库丢失异常“cc1plus:加载共享库时出错:libmpc.so.3:无法打开共享对象文件:没有这样的文件或目录”这似乎是另一个问题,我建议您使用makefile的实际内容创建一个新的问题。