【发布时间】:2017-06-22 11:39:33
【问题描述】:
我正在运行 g++ 4.8.5 附带的 Linux CentOS 7.3。我想用 g++ 7.1.0 编译一些 C++ 软件。但是用 g++ 7.1.0 编译的 C++ 程序使用的是 g++ 7.1.0 附带的标准库和 libstdc++.so 的头文件,这让事情变得非常痛苦。
有没有办法在使用 g++ 7.1.0 的同时仍然使用与 CentOS 一起安装的 g++ 4.8.5 中的标准库(包括头文件和 libstdc++.so)?
【问题讨论】:
-
您是否尝试过使用
-std=c++03/-std=gnu++03和-Wl,-rpath指向原始库? -
痛苦到底是什么?您将
-Wl,-rpath=/path/to/your/new/libstdc++.so/directory添加到您的 g++ 标志中,就完成了。 -
@n.m.假设您想编译带有自己的构建系统(例如 Bazel)的 TensorFlow,并且您不想花太多时间来破解这样的东西。 :-(
-
任何有价值的构建系统都应该尊重 CFLAGS、CXXFLAGS 和 LDFLAGS 环境变量。不过你可能想看看this。
-
@n.m.谢谢,我试试看。