gpt4 book ai didi

c++ - 未定义 对 "_ZNSt5__padIcSt11char_traitsIcEE6_S_padERSt8ios_basecPcPKcllb"符号的引用未从 libstdc++.a(libstdc++.so.6) 导出

转载 作者:行者123 更新时间:2023-11-28 04:28:15 27 4
gpt4 key购买 nike

我能够成功构建我的代码,但在尝试运行它时出现以下错误。我在 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)

我找不到对此函数的引用。

此外,在一些地方建议如果出现此类错误,您需要设置 LIBPATH在 AIX 的情况下是变量。我将 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++ 不兼容。

最佳答案

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

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

关于c++ - 未定义 对 "_ZNSt5__padIcSt11char_traitsIcEE6_S_padERSt8ios_basecPcPKcllb"符号的引用未从 libstdc++.a(libstdc++.so.6) 导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53702917/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com