CMake: Statische Verknüpfung von libgcc und libstdc ++ zu einer gemeinsam genutzten Bibliothek
Problem
Ich habe Probleme beim Verknüpfen von glibcc / glibc ++ mit einer gemeinsam genutzten Bibliothek unter Verwendung von CMake und GCC4.9 in meiner Ubuntu 16.04-Installation.
Zusätzliche Bedingungen
Laden der gemeinsam genutzten Bibliothek führt zu einem Problem in der Red Hat-Produktionsumgebung (in die ich sie kopiere), da meines Erachtens eine andere libstc ++ - Version verwendet wird (Fehler: GLIBCXX_3_4_20 nicht gefunden). Ich habe keine Sudo-Rechte und kann die Maschine nicht aktualisieren.
ie ich von @ abgeleitet haDie Blog, diesesPos, Ich habe versucht, statische Verknüpfungen mit libgcc und libgc ++ zu verknüpfe
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
und againg mit
set(CMAKE_SHARED_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
Aber das funktioniert nicht. Was does work ist dieses 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 sein, meines Wissens sind -static-libgcc und -static-libstdc ++ Linker-Optionen und keine Bibliotheken ...
Frag: Wie verbinde ich statisch gegen -libgcc und -libstdc ++ richtig?
Danke im Voraus