Linux二进制兼容性
Linux binary compatability
我正在debian 6.0发行版上开发我的C++服务应用程序,我还在debian 6.0上编译二进制文件;二进制文件能否在debian5.0发行版上运行良好?
最好在Debian 5.0上编译它们。
Linux内核开发人员提供向后兼容性,而不是向前兼容性。但更可能的是基本库版本的问题(比如glibc)。如果你害怕崩溃,请查看它们的变化。
不太可能,但您可以尝试。将尽可能多的库链接为"静态"库可能会有所帮助,这样不同系统上的不同版本就不会造成问题。
请确保使用Debian-5.0上提供的libstdc++/编译器版本。
例如,当使用g++-4.3
编译时,您的二进制文件将链接到相应的libstdc++6-4.3
,后者应该在Debian-5.0 上可用
请注意,crush(Debian-6)上的默认c++编译器是g++-4.4
,它在lenny上是而不是。
因此,您可能必须将编译器/链接器显式设置为g++-4.5
(显然是在安装之后:-)
$ ./configure CPP=cpp-4.5 CC=gcc-4.5 CXX=g++-4.5
$ make
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 添加noexcept是否会破坏二进制兼容性
- 在Qt中使用C++Lambda函数作为插槽是否有助于保持库的二进制兼容性?
- 为什么新的虚拟函数不会破坏二进制兼容性的现象?
- 在类中添加新的成员变量会影响二进制兼容性
- 2015年视觉工作室的二进制兼容性
- 保证C++库二进制兼容性的简单方法,C链接
- 添加move构造函数会破坏二进制兼容性吗
- 关于 Linux 的二进制兼容性
- 我们什么时候打破二进制兼容性
- Linux二进制兼容性
- 可以添加静态变量破坏 Linux 上的二进制兼容性
- 使用按引用传递而不是按指针传递时的二进制兼容性
- 旧发行版上的二进制兼容性(使用C++11)
- 在C++中更改参数名称时的二进制兼容性
- 不同类中相同结构定义的二进制兼容性
- 内联如何限制升级版本的二进制兼容性
- VS2010和VS2012之间的二进制C++库兼容性
- 由于虚拟函数,二进制兼容性中断
- 更改方法以添加隐藏的this指针是否会破坏二进制兼容性