Linkerprobleme std::stacktrace unter Unix
-
Hallo,
ich arbeite an einem Basis-Projekt (Unix / Windows) und möchte erstmalig std::stacktrace nutzen. Unter Windows alles kein Thema, lässt sich kompilieren und linken.
Unter Unix habe ich Schwierigkeiten beim Linken. Hier ist mal die von Visual Studio erzeugte Kommandozeile für das Linken:
-o"E:\C++\Framework\VS2022Unix\CoreTests\bin\x64\Debug\CoreTestsD.out" "3600000" -Wl,-z,relro -Wl,-z,noexecstack -Wl,--no-undefined "g++" -l"CoreD" -l"UnittestD" -l"dl" -l"unwind" -l"dw" -Wl,-L"~/projects/CoreTests/../Core/bin/x64/Debug" -Wl,-L"~/projects/CoreTests/../Unittest/bin/x64/Debug" -Wl,-z,now
Ich erhalte aber die folgenden Fehlermeldungen:
/home/debian/projects/Core/bin/x64/Debug/libCoreD.a(Exception.o): in function
std::stacktrace_entry::_S_init()': undefined reference to
__glibcxx_backtrace_create_state'
/home/debian/projects/Core/bin/x64/Debug/libCoreD.a(Exception.o): in functionstd::basic_stacktrace<std::allocator<std::stacktrace_entry> >::current(std::allocator<std::stacktrace_entry> const&)': undefined reference to
__glibcxx_backtrace_simple'
ld returned 1 exit statusChatGPT konnte mir bisher nicht weiterhelfen. Hat jemand eine Idee?
Vielen Dank im Voraus
VG Torsten
-
Die wichtigste Info hast du weg gelassen, nämlich womit du compilierst. Aber beispielsweise bei GCC musst du beispielsweise noch -lstdc++_libbacktrace angeben.