问题:CMake的:静态链接libgcc的和libstdC++到一个共享库
我有联glibcc/glibc的++到使用CMake和GCC4.9在我的Ubuntu 16.04安装的共享库的问题。
附加条件:
加载共享库给OM红帽生产环境中的问题(在这里我把它复制到),我相信,因为它使用了不同的libstC++版本(错误:GLIBCXX_3_4_20未找到) 。我没有sudo权限,无法升级机器。
当我从this博客衍生,这post,我尝试使用链接libgcc的和libgc静态链接++:
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
和againg使用
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++?
在此先感谢!
谢谢!好的,我应该更好地阅读手册...我认为名称target_link_libraries有点混乱,但... –