我刚刚使用链接here安装了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)。等。
任何人都可以通过绕过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 路径和所以运行时的路径。
谢谢!!答案 0 :(得分:8)
如果使用--prefix=/home/myname/gcc4.9
构建编译器(显然调整为与系统匹配),则编译器应“知道”包含路径等。
除此之外,您需要确保路径/home/myname/gcc4.9/bin
/usr/bin
之前或其他任何gcc的安装位置,并且一切都应该正常工作。在我的机器上,我从我自己的构建中安装了gcc 4.8.2,从linux安装程序中为gcc安装了gcc 4.6.3(因为它是一个相当古老的发行版)。只要我按正确的顺序设置路径,它就会“自动”工作。
您需要设置LD_LIBRARY_PATH
,但包含路径和静态库应由gcc本身处理。