现在,我使用提供的 gcc 在某个旧版本的 linux (SLED 10) 上编译我的 C++ 软件,它可以在大多数新版本上运行,因为它们具有更新的 glibc。问题是,旧的 gcc 不支持 C++11,我真的很想使用新功能。
现在我有了一些想法,但我相信其他人也有同样的需求。什么实际上对你有用?
想法:
- 在更新的系统上构建,静态链接到更新的 glibc。(不可能吧?)
- 在较新的系统上构建,针对较旧的 glibc 进行编译和链接。
- 使用更新的 gcc 在旧系统上构建,链接旧 glibc。
- 在更新的系统上构建,动态链接到更新的 glibc,设置 RPath 并为我们的 glibc 提供安装程序。
作为奖励,我的软件还支持插件并有一个 SDK。我真的更希望我的客户可以毫不费力地针对我的库进行编译。
提前致谢。欢迎提出想法,首选经过验证的解决方案。