CMake: Статическое связывание с libgcc и libstdc ++ в общую библиотеку
Problem:
У меня проблемы с подключением glibcc / glibc ++ в общую библиотеку с использованием CMake и GCC4.9 в моей установке Ubuntu 16.04.
Дополнительные условия
Загрузка общей библиотеки создает проблему в производственной среде Red Hat (куда я ее копирую), я полагаю, потому что она использует другую версию libstc ++ (ошибка: GLIBCXX_3_4_20 не найдена). У меня нет прав sudo и я не могу обновить машину.
Как я понял изэт блог, этопосл, Я пытался связать статические ссылки с libgcc и libgc ++, используя:
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
и снова используя
set(CMAKE_SHARED_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
Но это не работает. Какая Делает работа это сценарий CMake:
add_library(myLib SHARED ${SOURCE_FILES})
set(CMAKE_EXE_LINKER_FLAGS " -static")
target_link_libraries(myLib -static-libgcc -static-libstdc++)
Это должен быть неправильный способ сделать это, насколько мне известно, -static-libgcc и -static-libstdc ++ являются опциями компоновщика, а не библиотеками ...
Вопро: Как правильно связать статически с -libgcc и -libstdc ++?
Заранее спасибо