10

我刚刚使用此处的链接安装了 gcc 4.9 ,这是一个非常好的链接。但我只有一个问题,我不想尝试不搞砸——>链接库和路径变量。

我们大学有一个集群,我将它安装在我的主目录中(没有 root)。现在我的 home/ 目录包含所有 gcc 文件夹所在的文件夹:

bin  
include  
lib  
lib64  
libexec  
share

我需要做什么才能通过附加链接指向 bin 文件夹中的 g++/gcc 二进制文件?例如,设置 ld_library_path,设置二进制路径 (export PATH = /home/asdf/gcc4.9/bin:$PATH) 。ETC..

任何人都可以通过绕过 root 安装的旧版本 gcc 来提供有关使用 gcc/g++ 4.9(由我安装)所需完成的所有操作的详细信息。

我是否也必须将 lib 和 lib64 添加到 ld_library_paths 中?我是否必须使用“”而不是 < > 来包含文件(例如,#inlcude “set”或#include,它包含来自 gcc4.9 而不是旧的)或者使用 -I 明确提供包含路径

欢迎任何建议/讨论/评论。我知道这可能会被标记为重复,但它对所有想要在不弄乱环境变量的情况下尝试使用 c++11 的新 gcc-4.9 的人来说真的很有用。

PS:我不是在问如何导出或设置环境变量。我在问需要什么所有环境变量才能使用我的非 root 版本的 gcc 而不是 root 的旧版本并且在运行时不要弄乱ld路径和路径。

谢谢 !!

4

1 回答 1

8

如果您使用--prefix=/home/myname/gcc4.9(显然是调整以匹配您的系统)构建编译器,那么编译器应该“知道”包含路径等。

除此之外,您需要确保您的路径在安装其他 gcc/home/myname/gcc4.9/bin之前/usr/bin或任何位置,并且一切都应该正常工作。在我的机器上,我从我自己的构建安装了 gcc 4.8.2,从 gcc 的 linux 安装程序安装了 gcc 4.6.3(因为它是一个相当旧的发行版)。只要我以正确的顺序设置路径,它就会“自动”工作。

您需要设置LD_LIBRARY_PATH,但包含路径和静态库应由 gcc 本身处理。

于 2014-05-17T09:07:50.680 回答