CMake: Lier statiquement contre libgcc et libstdc++ dans une bibliothèque partagée

Problème:

J'ai des problèmes de liaison glibcc/glibc++ dans une bibliothèque partagée à l'aide de CMake et GCC4.9 sur mon Ubuntu 16.04 installation.

Conditions supplémentaires:

Chargement de la bibliothèque partagée donne un problème om Red Hat environnement de production(où je l'ai copier), je crois parce qu'il utilise un autre libstc++ version(erreur: GLIBCXX_3_4_20 pas trouvé). Je n'ai pas de sudo droits et impossible de mettre à niveau la machine.

Que j'ai tiré de cette blog, ce post, j'ai essayé de relier la liaison statique contre libgcc et libgc++ à l'aide de:

set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")

et againg à l'aide de

set(CMAKE_SHARED_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")

Mais qui ne fonctionne pas. Ce ne travail est-ce CMake script:

add_library(myLib SHARED ${SOURCE_FILES})
set(CMAKE_EXE_LINKER_FLAGS " -static")
target_link_libraries(myLib -static-libgcc -static-libstdc++)

Ce doit être de la mauvaise façon de le faire, à ma connaissance -static-libgcc et -statique-libstdc++ sont des options du linker et pas de bibliothèques...

Question:
Comment puis-je lier statiquement contre -libgcc et -libstdc++ correctement?

Merci d'avance!

OriginalL'auteur DA-- | 2016-08-01