运行configure时配置不同于默认值的编译器

Met*_*est 4 c linux gcc glibc

我正在编译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.
Run Code Online (Sandbox Code Playgroud)

现在我的问题是我对该机器没有任何管理权限.那么我怎样才能使用与默认编译器不同的编译器.

osg*_*sgx 11

在linux上,任何人都可以更改其进程的环境变量; 不需要行政权利.

在bash中:

export CC="gcc" CFLAGS="-O3 -Wall"
Run Code Online (Sandbox Code Playgroud)

在csh中使用

setenv CC "gcc"
Run Code Online (Sandbox Code Playgroud)

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

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

CC="gcc" CFLAGS="-O3 -Wall" ./configure ...
Run Code Online (Sandbox Code Playgroud)

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


yam*_*man 5

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

make CC=/whatever/compiler
Run Code Online (Sandbox Code Playgroud)