6

我正在编译 glibc 库。在我能做到这一点之前,我需要运行configure. 但是,为了编译 glibc,我需要使用 gcc 编译器,它不是机器上的默认编译器。手册说如下。

It may also be useful to set the CC and CFLAGS variables in the environment 
when running configure. CC selects the C compiler that will be used, and CFLAGS 
sets optimization options for the compiler.

现在我的问题是我在那台机器上没有任何管理权限。那么如何使用不同于默认的编译器。

4

4 回答 4

12

在 linux 上,任何人都可以更改其进程的环境变量;不需要管理权限。

在 bash 中:

export CC="gcc" CFLAGS="-O3 -Wall"

在 csh 中使用

setenv CC "gcc"

在此命令之后在此 shell 中启动的任何程序都将在其环境中具有 CC 变量。(环境变量被 bash、csh 或其他 shell 记住)。您可以将此命令添加到您的~/.bashrc文件中以使此设置永久化。

还有其他方法可以通过 CC 进行配置,例如在 bash 中,可以将环境变量设置为单个命令,而无需记住:

CC="gcc" CFLAGS="-O3 -Wall" ./configure ...

PS 和流行./configure CC=gcc不是环境变量更改,而是特定于配置实现(但大多数配置都支持这一点)

于 2012-05-03T16:56:15.327 回答
5

您也可以在运行 make 时执行此操作:

make CC=/whatever/compiler
于 2012-05-03T17:24:46.327 回答
3

CC=gcc ./configure 将允许您设置编译器。

于 2012-05-03T16:56:23.560 回答
0

在运行配置之前执行以下操作。

export CC=gcc_your_version
于 2012-05-03T16:56:35.247 回答