我的主要问题是我有一个系统,官方支持的GCC版本是4.6.2 / 4.6.3(这取决于你是否更新)这是相当陈旧的我还需要一些新的C ++ 11功能以及较新的GCC版本的所有改进。
我想以这样的方式建立GCC:
libstdc++
,我想这就像“便携式”安装。libstdc++
并仅使用给定和内置libstdc++
版本-I
-L
-B
指定了一个替代文件夹,其恰好包含任何给定libstdc++
版本的不同安装,GCC应该忽略此仅针对libstdc++
我编译GCC没有问题,但是我没有得到如何强制GCC表现得像我想要的那样,例如GCC 4.7.2版本总是在我的默认GCC 4.6.3安装中获取libstdc ++,这是显然我不想要的。
在构建GCC时,有哪些正确的标志?
答案 0 :(得分:0)
没有构建标志会强制执行此类行为。 -I
anss所有其他标志都不是建议,它们是永远不会被忽略的绝对要求。如果你足够勇敢指定一个搜索路径,其中包含不同编译器版本的头文件或库(不可能偶然发生,所以你应该完全了解你在做什么),你完全应该得到后果。
带前缀的正常安装应该完成所需的大部分操作。配置--prefix=/path/to/your/installation
,然后唯一要改变的是默认规格文件。添加-rpath=/path/to/the/folder/where/your/libstdc++/sits
,您应该全部设置。 specs文件的语法在man gcc
。