c++ - 在没有 root 的情况下安装 GCC-4.9 - 添加路径和二进制文件等等

标签 c++ gcc c++11 gcc4.9

我刚刚使用链接 here 安装了 gcc 4.9这是一个很好的链接。但我只有一个问题,我不想尝试避免搞砸 --> 链接库和路径变量。

我们学院有一个集群,我将它安装在我的主目录中(没有 root)。现在我的主目录包含这个文件夹,所有 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路径和所以 运行时的路径。

谢谢!!

最佳答案

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

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

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

关于c++ - 在没有 root 的情况下安装 GCC-4.9 - 添加路径和二进制文件等等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23708385/

相关文章:

c++ - 与C++中的Lua表操作最接近的是什么?

c++ - 读取 gdb 中明确定义的值时出现段错误

c - 图标显示在窗口上但不显示在 .exe 文件上 (gtk3 windows7)

c - include 的路径解析

c++ - Windows MAX/MIN 宏作为模板

c++ - 使用标记解析字符串的函数

c++ - 使用 CMake 在项目中链接 curl

在C中编译多个文件

c++ - 新的类型安全枚举是否定义为从 0 开始?

c++ - 在 C++ 11 中保持分离线程有什么坏处