Problem:CMake: Verknüpfung statisch gegen libgcc und libstdC++ in einer gemeinsam genutzten Bibliothek
Ich habe Probleme Verknüpfung glibcc/glibC++ in einer gemeinsam genutzten Bibliothek CMake und GCC4.9 auf meinem Ubuntu 16.04 Installation.
Zusätzliche Bedingungen:
die gemeinsam benutzte Bibliothek Laden gibt ein Problem om Red Hat Produktionsumgebung (wo ich es zu kopieren), ich glaube, weil es eine andere libstC++ Version verwendet (Fehler: GLIBCXX_3_4_20 nicht gefunden) . Ich habe keine Sudo-Rechte und kann die Maschine nicht aktualisieren.
Wie ich aus this Blog abgeleitet, diese post, habe ich versucht, das statische Linken gegen libgcc und libgc Verknüpfung ++ mit:
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
und againg
set(CMAKE_SHARED_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
verwenden, aber das funktioniert nicht. Welche tut Arbeit ist das CMake Skript:
add_library(myLib SHARED ${SOURCE_FILES})
set(CMAKE_EXE_LINKER_FLAGS " -static")
target_link_libraries(myLib -static-libgcc -static-libstdc++)
Dies muss der falsche Weg, dies zu tun sein, meines Wissens -static-libgcc und -static-libstdC++ sind Linker-Optionen und nicht die Bibliotheken ...
Frage: Wie verbinde ich statisch gegen -libgcc und -libstdC++ richtig?
Vielen Dank im Voraus!
Dank! Ok, ich hätte das Handbuch besser lesen sollen ... Ich denke, der Name target_link_libraries ist ein bisschen verwirrend, obwohl ... –