Я могу успешно построить свой код, но при попытке запустить получаю следующее сообщение об ошибке.Я использую 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.у нас есть система libstdc ++ и libstdc ++ из gcc4.8.5.когда я связываюсь с системой libstdc ++, gdb запускается успешно, но моя программа не работает, но когда я устанавливаю путь к libstdc ++ в gcc4.8.5.GDB не запускается, но запускается мой исполняемый файл.похоже, что системные libstdc ++ и gcc4.8.5 libstdc ++ не совместимы.