cmake, как связать внешнюю динамическую библиотеку со статической версией той же библиотеки - PullRequest
0 голосов
/ 28 мая 2018

У меня есть внешний пакет exp1, который содержит статические и динамические библиотеки

exp1

- include

- lib // 1.dll, 1.lib

Теперь в cmake пакета exp1 я добавил команды

add_library(${XS_SHARED_LIB} SHARED IMPORTED GLOBAL)

    set_target_properties(${XS_SHARED_LIB} PROPERTIES
        IMPORTED_LOCATION ${XS_DIR}/lib/${XS_SHARED_LIB}_1.dll
        IMPORTED_IMPLIB ${XS_DIR}/lib/${XS_SHARED_LIB}.lib
    )

Теперь в другом внешнем пакете я пытаюсь статически связать вышеуказанный пакет exp1

target_link_libraries(xrlib
    ${XS_SHARED_LIB}
)

Но это приводит к проблеме связывания с $ {XS_SHARED_LIB} _1.dll

  1. ошибка LNK2019: неразрешенный внешний символ
  2. фатальная ошибка LNK1107: неверный или поврежденный файл: невозможно прочитатьв 0x360

Дайте мне знать решение для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...