如何使用多个GCC-LLVM和clang

如何使用多个GCC-LLVM和clang,gcc,llvm,clang,llvm-clang,Gcc,Llvm,Clang,Llvm Clang,在我的框中,我们安装了GCC4.1.2作为根用户,但要编译LLVM和clang,我需要更高版本的GCC。因此,我下载了GCC4.5.0并安装在我的本地目录中 如何使现有程序参考GCC 4.5.0 libs和includes > gcc --version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; se

在我的框中,我们安装了GCC4.1.2作为根用户,但要编译LLVM和clang,我需要更高版本的GCC。因此,我下载了GCC4.5.0并安装在我的本地目录中

如何使现有程序参考GCC 4.5.0 libs和includes

> gcc --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

> which gcc
/usr/bin/gcc

> setenv PATH gcc-4.5.0/bin/gcc/gcc-4.5.0/bin:$PATH

> gcc --version
gcc (GCC) 4.5.0
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

> which gcc
gcc-4.5.0/bin/gcc/gcc-4.5.0/bin/gcc
仅仅设置系统路径对我有帮助吗?或者对于引用GCC4.5.0套件的现有代码,我还需要做些什么

gcc-4.5.0/bin/gcc/gcc-4.5.0/> ls -l
total 24
drwxrwxr-x 2 prasad ppusers 4096 Jun 13 21:32 bin
drwxrwxr-x 3 prasad ppusers 4096 Jun 13 21:32 include
drwxrwxr-x 3 prasad ppusers 4096 Jun 13 21:32 lib
drwxrwxr-x 2 prasad ppusers 4096 Jun 13 21:32 lib64
drwxrwxr-x 3 prasad ppusers 4096 Jun 13 21:32 libexec
drwxrwxr-x 6 prasad ppusers 4096 Jun 13 21:32 share

实现这一点的最佳方法因构建系统而异

对于make(可能还有其他系统),C编译器是在
CC
变量中指定的,因此您只需调用

CC=/path/to/new/gcc make
如果项目使用autoconf中的配置脚本,则可以使用类似的方法

./configure CC=/path/to/new/gcc

我建议您将GCC本地副本的路径最后放在
$path
中,即
导出路径=$path:/your/local/path
。使用
gcc-4.5
调用编译器。这样,您仍然可以为系统以及您自己的应用程序构建应用程序。但这根本不是本文的目标。我只需要使用GCC4.5.0版本编译代码。您需要使用特定版本编译代码,但是为系统编译的代码应该使用系统提供的编译器。这是因为否则系统工具中可能存在不兼容。当然,我的建议可以与cobbal的答案相结合,因此您可以按照我的建议设置
PATH
,然后执行例如
CC=gcc-4.5 make