【发布时间】:2012-04-16 15:23:36
【问题描述】:
我正在构建一个可再发行的 .so 文件。
但是,当我的用户尝试使用它时,他们会遇到可怕的 /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.9' not found 错误。
执行 objdump,似乎是我的二进制文件中的这个特殊符号导致了问题:
_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@@GLIBCXX_3.4.9
我如何告诉我的 gcc/g++ 编译/链接到旧版本的 GLIBXX,以便我的用户不会收到此错误?
或者是解决这个难题的唯一方法是安装具有 GLIBXX 的单独旧版本的 linux?
【问题讨论】:
-
您可以尝试静态链接到 C/C++ 库。
-
我不能。我的库是封闭源代码,静态链接将对其应用 gpl 许可证
标签: linux gcc dependencies glibc glib