【问题标题】:Set libstdc++.so.6 location for compiler为编译器设置 libstdc++.so.6 位置
【发布时间】:2018-04-29 20:05:21
【问题描述】:

在使用 GCC4.9 构建 c++ 包时,我收到以下错误消息。

'/usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /local/p4clients/pkgbuild-S1NVe/workspace/build

我在 makefile 中用不同的 Gcc 编译器位置覆盖了 CC 和 CXX,在不同的文件夹下也有相同的 so 文件。 我还在 LD_LIBRARY_PATH 中添加了该文件夹位置,但编译器仍在使用 /usr/lib64/ 而不是 /mypath/lib64/usr/lib64/ 是 GCC4.5。 我如何告诉编译器使用来自不同位置的 so 文件。

【问题讨论】:

  • 在 makefile 中添加 LDFLAGS += -static-libstdc++ -static-libgcc 后出现新错误 fx_zlib_crc32.c:(.text+0x6d6): first defined here

标签: c++ gcc libstdc++


【解决方案1】:

您需要为您的操作系统构建的共享对象版本。您尝试使用的 DSO 与 GCC 4.5 不兼容。它是针对 GCC 4.9 或更高版本编译的。更换系统libstdc++.so.6库会导致整个系统不支持。

【讨论】:

  • 我已经在构建共享对象,唯一的问题是编译器只使用了一次旧版本(我在构建机器上有两个版本的 gcc 编译器)
猜你喜欢
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
  • 2019-08-16
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 2010-12-01
  • 2017-11-30
相关资源
最近更新 更多