CMake: vinculando estaticamente contra libgcc e libstdc ++ em uma biblioteca compartilha
Problema
enho problemas ao vincular o glibcc / glibc ++ a uma biblioteca compartilhada usando o CMake e o GCC4.9 na minha instalação do Ubuntu 16.0
Condições adicionais
Carregar a biblioteca compartilhada causa um problema no ambiente de produção Red Hat (onde eu a copio), acredito que ele usa uma versão libstc ++ diferente (erro: GLIBCXX_3_4_20 não encontrado). Não tenho direitos sudo e não posso atualizar a máquina.
Como derivado deist blog, esteposta, Tentei vincular o link estático ao libgcc e libgc ++ usando:
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
e usando novamente
set(CMAKE_SHARED_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
Mas isso não funciona. O quefa work é esse script do CMake:
add_library(myLib SHARED ${SOURCE_FILES})
set(CMAKE_EXE_LINKER_FLAGS " -static")
target_link_libraries(myLib -static-libgcc -static-libstdc++)
Esta deve ser a maneira errada de fazer isso, pelo que sei -static-libgcc e -static-libstdc ++ são opções de vinculador e não bibliotecas ...
Questã: Como vincular estaticamente contra -libgcc e -libstdc ++ corretament
Desde já, obrigado