В чем разница между путями поиска между target_link_libraries и find_library? - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть библиотека C, которая включает следующую зависимость в CMake:

if (WIN32)
    target_link_libraries(my_library legacy_stdio_definitions.lib)
    target_link_libraries(my_library wsock32)
else()
    ...
endif()

Это в основном работает для моего приложения, но я экспериментирую с другим подходом, который требует от библиотек абсолютных путей,Поэтому переключился на следующее:

if (WIN32)
    find_library(LEGACY_LIB legacy_stdio_definitions.lib)
    find_library(WSOCK_LIB wsock32)
    # Do something with ${LEGACY_LIB} and ${WSOCK_LIB}
else()
    ...
endif()

К моему удивлению, это не работает. Обе ошибки find_library s устанавливают переменные на NOTFOUND.

Как мне это исправить? Мое первое предположение состояло бы в том, что find_library не выглядит в тех же местах, что и target_link_libraries, но я провел некоторое исследование и не смог найти, где он искал. Чего мне не хватает?

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