1
20
您不需要链接到其他库,需要使用旧版本的编译器。 看一看 the GNU ABI policy . libstdc++共享库设计为向前兼容。也就是说,如果需要6.0.8版本,可以使用6.0.10版本。在该策略中,您可以从GCC-4.2.0中阅读到,6.0.9是必需的,因此您需要一个GCC-4.1.x。 简而言之,这就是为什么你的系统只有一个libstdc++.so.6.0.x,你只需要最新版本。 至于将构建系统设置为只使用特定版本的编译器:确保不能使用标准g++(重命名链接,删除提供链接的包,将其从路径中删除),然后开始挖掘。为我工作。 |
2
6
您可以将所需的共享库与您自己的代码一起发送(例如在子目录中),并将ld_library_path设置为运行应用程序的前兆,以便在该目录中进行首次搜索。 提供您需要的特定版本意味着用户安装的版本无关紧要。你只需要确保你也提供了所有的依赖。 |
3
2
已经遇到了。我没有想到比安装一个系统(虚拟化?)使用与目标计算机相同的配置来构建可分发的二进制文件。 |
4
1
另一种方法是静态链接libgcc和libstdc++,这对我不起作用,但可能有人会发现它很有用。
GCC有选择权
问题是,boost库是根据更新的libstdc++构建的,所以当程序正确编译时,它会生成运行时错误… 也许这是可以解决的,如果我重建助推太多,没有尝试过。
(对于记录,如果使用任何动态加载库的代码,例如
|
5
1
您可以将更新的libstdc++“走私”到客户机系统(到私有区域)并将程序与适当的
注意:在freebsd上,libstdc++与编译器耦合(我安装了gcc4.2、4.4和4.5,每个都有自己的libstc++)。尝试安装一个较旧(与客户机系统匹配)版本的gcc,它可能包含您要查找的较旧libstdc++版本。 |
6
0
你试过把它和来源列表放在一起吗?这假设您实际安装了库!
|
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |