有啥方法可以告诉 g++ 使用另一个二进制文件进行编译?

Posted

技术标签:

【中文标题】有啥方法可以告诉 g++ 使用另一个二进制文件进行编译?【英文标题】:Any way to tell g++ to use another binary for compiling?有什么方法可以告诉 g++ 使用另一个二进制文件进行编译? 【发布时间】:2011-02-11 16:48:03 【问题描述】:

这个问题可能听起来有点荒谬。事实:

    我有一个用 C++ 编写的程序。 它使用了很多内部库。 我没有库的读取权限。 所以我必须使用可以访问 lib 头文件和档案的给定工具进行构建。 卡在 gcc 4.3 我有一个本地构建的 gcc 4.5 我希望 g++ 使用我的本地 g++ 而不是旧版本。

有什么办法可以完成吗?

【问题讨论】:

你是通过路径调用本地构建,还是直接输入g++ 我只是通过脚本调用它。并且构建器在不同的用户下运行。因此,我无法通过更改我的环境变量来做任何事情。 【参考方案1】:

使用编译器的完整路径,而不是在不指定路径的情况下调用它。

【讨论】:

您也可以编辑您的 .bashrc 并添加类似 export PATH=/home/usr/gcc4.5:$PATH 的内容,以便您始终默认使用此编译器路径。【参考方案2】:

许多配置脚本接受 CC 环境变量:

export CC=/usr/bin/gcc44 例如。如果您有配置脚本,请尝试./configure --help 以查看它是否受支持。

【讨论】:

【参考方案3】:

假设你的 ~/bin 文件夹中有 g++,你能添加吗

export PATH=~/bin:$PATH

到你的 shell 的 .profile 文件(.bash_profile 用于 bash)。然后,当您再次登录并执行which g++ 时,它应该会显示您的本地 g++ 版本。

【讨论】:

以上是关于有啥方法可以告诉 g++ 使用另一个二进制文件进行编译?的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以使用来自 csv 的 MySQL 来处理列?

有啥方法可以调用私有方法?

在Java中,BufferedReader 是一个啥类啊,有啥作用啊

用#define 定义的常量与变量有啥区别,啥时候应该使用define定义符号常量

ng-model 和 ng-bind 有啥区别

如何告诉 clang 将调试符号放入可执行二进制文件中? [复制]