Проблема:
У меня возникают трудности при связывании 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-libstdС++ являются опциями компоновщика, а не библиотеками...
Вопрос: Как правильно связать статически с -libgcc и -libstdС++?
Заранее спасибо!