如何使用GCC的多个版本

时间:2009-01-15 21:01:32

标签: c++ linux gcc g++

我们有一个新的应用程序需要glibc 2.4(来自gcc 4.1)。我们运行的机器有gcc 3.4.6。我们无法升级,应用程序必须在此计算机上运行。

我们安装了gcc 4.1,但是,在编译时它使用3.4.6中的所有包含等。

我们如何解决这个问题?

有关将4.1用于此应用程序的任何建议吗?

5 个答案:

答案 0 :(得分:24)

请参阅GNU GCC常见问题解答中的“如何安装GCC的多个版本”here

还有一份白皮书here

答案 1 :(得分:3)

你试过gcc-select吗?否则,请尝试在shell中设置INCLUDE_PATHLIBRARY_PATH

答案 2 :(得分:2)

你可能仍然执行旧的gcc。尝试从gcc创建符号链接到您的版本,例如

ln -s gcc-4.1 gcc

请注意不要删除那里放置的旧“gcc”二进制文件,以防它们不只是放置符号链接。如果你可以重新编译你自己的gcc版本,最安全的只是在gcc的配置时使用另一个前缀,类似于--prefix=/home/jojo/usr/gcc(我用svn-trunk的gcc-4.4这样做,并且效果很好)。

请注意,这只是运行正确的gcc版本。如果你更新你的gcc,你的glibc也不会自动更新。它是一个独立的包,与系统的其余部分深度耦合。安装另一个glibc版本时要小心。

答案 3 :(得分:2)

update-alternatives是拥有多个gcc版本的一种非常好的方法:

http://ubuntuguide.net/how-to-install-and-setup-gcc-4-1g4-1-in-ubuntu-10-0410-10

答案 4 :(得分:2)

对于Ubuntu来说非常简单

sudo apt-get update

sudo apt-get install gcc-6

然后安装例如gcc版本6

CompletableFuture<List<A>>