【问题标题】:undefined Reference to "_ZNSt5__padIcSt11char_traitsIcEE6_S_padERSt8ios_basecPcPKcllb" symbol is not exported from libstdc++.a(libstdc++.so.6)未从 libstdc++.a(libstdc++.so.6) 导出对“_ZNSt5__padIcSt11char_traitsIcEE6_S_padERSt8ios_basecPcPKcllb”符号的引用
【发布时间】:2019-05-11 04:34:45
【问题描述】:

我能够成功构建我的代码,但在尝试运行它时出现以下错误。我在 AIX7.1 上使用 GCC4.8.5

0509-130 Symbol resolution failed for libadobelinguistic.a because: 0509-136 Symbol _ZNSt5__padIcSt11char_traitsIcEE6_S_padERSt8ios_basecPcPKcllb (number 94) is not exported from dependent module /user/unicore/rs6000aix/compiler/gcc4.8.5/aix6.1/lib/libstdc++.a(libstdc++.so.6). 0509-022 Cannot load module . 0509-026 System error: Cannot run a file that does not have a valid format. 0509-192 Examine .loader section symbols with the 'dump -Tv' command."}

正如在几个地方所建议的那样,我使用-Wl,--no-undefined 标志在编译时使项目失败。但编译并没有失败。

解构函数

std::__pad<char, std::char_traits<char> >::_S_pad(std::ios_base&, char, char*, char const*, long, long, bool)

我找不到对这个函数的引用。

此外,在少数地方建议如果出现此类错误,您需要在 AIX 的情况下设置 LIBPATH 变量。我将 libpath 变量设置为

LIBPATH=/user/unicore/rs6000aix/compiler/gcc4.8.5/aix6.1/lib:/opt/freeware/lib:/user/unicore/rs6000aix/compiler/gcc4.8.5/aix6.1/lib/gcc/powerpc-ibm-aix6.1.0.0/4.8.5:/opt/freeware/lib/pthread/ppc64

还是不行。

我找到了对它的引用 https://sourceforge.net/p/slo/feature-requests/4/。但它没有帮助。

编辑:似乎 libstdc++ 在 AIX7.1 上引起了问题。我们有 gcc4.8.5 的系统 libstdc++ 和 libstdc++。当我链接到系统 libstdc++ gdb 成功运行但我的程序失败但是当我在 gcc4.8.5 中设置 libstdc++ 的路径时。 GDB 不运行,但我的可执行文件运行。似乎系统 libstdc++ 和 gcc4.8.5 libstdc++ 不兼容。

【问题讨论】:

  • 你从哪里得到这个libadobelinguistic.a文件?
  • 共享位置。强制执行。 linux的相应文件工作正常。使用 gcc4.8.5 的 Linux 机器上没有错误

标签: c++ linker aix libstdc++ gcc4.8


【解决方案1】:

问题在于 libstdc++。默认情况下,LIBPATH 设置为 opt/freeware/lib,其中 libstdc++ 可用。在编译我的源代码时,链接到了“opt/freeware/lib”位置上可用的 libstdc++。在运行时,它正在寻找 gcc4.8.5 中可用的“libstdc++”。导致问题。

将 LIBPATH 设置为 gcc lib 目录解决了这个问题。

【讨论】:

  • 那么请接受您自己的答案,所以问题还没有解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 2019-05-04
  • 1970-01-01
  • 1970-01-01
  • 2015-06-05
  • 2018-07-05
  • 1970-01-01
相关资源
最近更新 更多