Я пытаюсь создать некоторый сторонний код и связать его с нашей собственной частной версией STLPort, их код использует CMake, и я новичок в нем.Удалить libstdC++ из сборки CMake
Я могу заставить компилятор работать против нашего 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 ")' все, что требуется –