Я пытаюсь преобразовать большой проект (с исполняемыми, динамическими и статическими библиотеками) для использования системы сборки CMake. У меня проблемы с добавлением зависимостей в статические библиотеки.
У меня есть корневой CMake, который будет вызывать список подкаталогов.
cmake_minimum_required(VERSION 3.8.0)
project(CC)
add_subdirectory(SmartCardUtility)
add_subdirectory(CertificateUtil)
..
Файл CMakeLists.txt в разделе CertificateUtil выглядит, как показано ниже.
project(CertificateUtil CXX)
source grouping....
include_directories(${PROJECT_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../../Output/_INC_DEV")
link_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../OpenSSL")
add_library(${PROJECT_NAME} STATIC ${ALL_FILES})
target_link_libraries(${PROJECT_NAME} libcrypto)
Если в приведенном выше фрагменте кода add_library заменяется на add_executable или add_library на SHARED, то зависимости разрешаются правильно и отображаются в разделе «Дополнительные_зависимости», но для статических lib, дополнительные_зависимости на странице свойств всегда пусты.
После просмотра сети вокруг этого момента я понял, что команда target_link_libraries ничего не добавляет в Библиотекаре. Тогда возникает вопрос: как правильно добавить зависимости к статическим библиотекам, чтобы они отображались в разделе «Дополнительные_зависимости» в разделе «Библиотекарь»?
Я пытался добавить зависимости как импортированные объекты как показано ниже, но все равно не работает.
add_library(libcrypto OBJECT IMPORTED)
set_property(TARGET libcrypto PROPERTY IMPORTED_OBJECTS "${CMAKE_CURRENT_SOURCE_DIR}/../../OpenSSL/libcrypto.lib")
add_library(${PROJECT_NAME} STATIC ${ALL_FILES} $)
Подробнее здесь: https://stackoverflow.com/questions/609 ... 7-does-not
Добавление зависимостей в статическую библиотеку с помощью CMake в Visual Studio 2017 не работает ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка Cmake: не удалось создать именованную генератор Visual Studio 15 2017 Win64-T
Anonymous » » в форуме C++ - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ошибка Cmake: не удалось создать именованную генератор Visual Studio 15 2017 Win64-T
Anonymous » » в форуме C++ - 0 Ответы
- 42 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ошибка ссылки на библиотеку Crypto++ при использовании Visual Studio 2017
Anonymous » » в форуме C++ - 0 Ответы
- 41 Просмотры
-
Последнее сообщение Anonymous
-