【发布时间】:2015-02-14 06:27:01
【问题描述】:
在我的 ubuntu 机器上,我在 /usr/bin 中安装了旧版本的 GCC,并且在系统路径中安装了 include/ 和 lib/。
Make 默认选择这个旧安装。
现在我在 $HOME/opt/{bin, lib, lib64, include, libexec} 中有一个新安装的 GCC,我想默认使用这个新安装。
我怎样才能做到这一点?
【问题讨论】:
在我的 ubuntu 机器上,我在 /usr/bin 中安装了旧版本的 GCC,并且在系统路径中安装了 include/ 和 lib/。
Make 默认选择这个旧安装。
现在我在 $HOME/opt/{bin, lib, lib64, include, libexec} 中有一个新安装的 GCC,我想默认使用这个新安装。
我怎样才能做到这一点?
【问题讨论】:
假设您的 makefile 包含 CC = gcc 和 CXX = g++ 之类的内容(即不是完整路径),您可以在调用 make 之前修改您的 $PATH,如下所示:
$ PATH=$HOME/opt/bin:$PATH make
或者您可以在命令行上显式设置变量的值:
$ make CC=$HOME/opt/bin/gcc CXX=$HOME/opt/bin/g++
(或者,当然,编辑您的 makefile 以进行这些更改)
只要 GCC 安装正确,您就不必关心这些路径中的任何其他路径:只需确保为实际编译器找到正确的二进制文件,然后它会完成剩下的工作。
【讨论】: