CMake find_package найден, но не может ссылаться на библиотеку - PullRequest
0 голосов
/ 18 июня 2020

В моем рабочем пространстве есть библиотека "serial" (serial.lib) и проект exe, где exe необходимо связать с библиотекой для сборки и компоновки.

В моем exe CMakeList.txt это не так. Кажется, нет проблем с find_package(serial):

Found serial: 1.2.1 (D:/../install/share/serial/cmake)

Вот мой CMake:

...
    include_directories(include ${serial_INCLUDE_DIRS})
    find_package(serial REQUIRED)
    target_link_libraries(${PROJECT_NAME} serial)
    #Do i need the following?
    add_dependencies(${PROJECT_NAME} serial)
...

Однако он не может найти "serial.lib" который уже был создан и доступен в каталоге install \ lib \ serial.

${serial_INCLUDE_DIRS} выводит правильный каталог: install / include

Если я добавлю строку:

add_dependencies(${PROJECT_NAME} serial)

У меня будет ошибка: The dependency target "serial" of target "test" does not exist.

Что не хватало? Есть ли необходимость добавлять link_directories(...)? Как мне указать, что если ${serial_INCLUDE_DIRS} может указывать на правильный каталог, существует ли такая вещь, как ${serial_LIBS}, которая будет указывать на каталог библиотеки? Я попробовал ${serial_LIBS}, и он кажется пустым.

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