我正在嘗試構建一些第三方代碼,並將其與我們自己的STLPort私有版本鏈接起來,它們的代碼使用CMake,我對它很陌生。從CMake中刪除libstdC++構建
我能夠使編譯工作對抗我們的STLPort包括,但我不能停止鏈接器鏈接在libstdC++。我試過了:
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -nostdlib")
list(REMOVE_ITEM CMAKE_CXX_IMPLICIT_LINK_LIBRARIES stdc++)
但沒有運氣。
Amazon Linux AMI(基於RHEL 5.x),CMake 2.8.12。
建議/指針將不勝感激。
謝謝。
您可以嘗試['CMAKE_USER_MAKE_RULES_OVERRIDE'](https://cmake.org/cmake/help/latest/variable/CMAKE_USER_MAKE_RULES_OVERRIDE.html)腳本。在那裏你可以修改'CMAKE_CXX_IMPLICIT_LINK_LIBRARIES',然後將它緩存到'CMakeCXXCompiler.cmake'中。看一個例子[這裏](http://stackoverflow.com/questions/28732209/change-default-value-of-cmake-cxx-flags-debug-and-friends-in-cmake)。 – Florian
這是試點錯誤。正如我在下面提到的那樣,CMake文件很大,STLPort定義中存在隱藏/屏蔽錯誤,導致問題遠離定義。 'set(CMAKE_EXE_LINKER_FLAGS「$ {CMAKE_EXE_LINKER_FLAGS} -nostdlib」)'是所有必需的 –