問題: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有點混亂,但... –