我对使用最新版本的GCC 4.4.x/4.5.x编译C++库时与老版本(如3.4.x/4.1.x)客户端兼容性存在一些担忧。有人建议的解决方案是编译目标文件并进行分发。这样,客户端可以使用任何版本的GCC和相关ABI进行链接。以下是一些问题:
- 这个做法正确吗?
- 是否应该静态链接以避免libstdc++兼容性问题?
- 这是不必要的吗(我听说gcc 3.4之后是向前兼容的)?
谢谢, Graeme
我对使用最新版本的GCC 4.4.x/4.5.x编译C++库时与老版本(如3.4.x/4.1.x)客户端兼容性存在一些担忧。有人建议的解决方案是编译目标文件并进行分发。这样,客户端可以使用任何版本的GCC和相关ABI进行链接。以下是一些问题:
谢谢, Graeme
std::
类型,如std::string
或std::vector<>
,因为std::
类型的二进制布局可能会随版本而改变。