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 function std::basic_stacktrace<std::allocator<std::stacktrace_entry> >::current(std::allocator<std::stacktrace_entry> const&)': undefined reference to__glibcxx_backtrace_simple'
    ld returned 1 exit status

    ChatGPT konnte mir bisher nicht weiterhelfen. Hat jemand eine Idee?

    Vielen Dank im Voraus

    VG Torsten


  • Mod

    Die wichtigste Info hast du weg gelassen, nämlich womit du compilierst. Aber beispielsweise bei GCC musst du beispielsweise noch -lstdc++_libbacktrace angeben.


Anmelden zum Antworten