Задать вопрос
EgoRusMarch
@EgoRusMarch
C++ Developer

Почему find_library() не хочет искать внутри CMAKE_LIBRARY_PATH?

С полным путём ищет, а так (см. ниже) нет.
set(CMAKE_LIBRARY_PATH C:/Users/me/Desktop/)

find_library(av_codec
    NAMES
        avcodec
    HINTS
         ffmpeg-4.3-win64-dev/lib
    REQUIRED
)

message(${av_codec})

Как это объяснить? Вот здесь чёрным по белому написано:
Semicolon-separated list of directories specifying a search path for the find_library() command

К тому же REQUIRED не ломает конфигурацию, при том, что av_codec-NOTFOUND (через message()). Это баги CMake, или как?
  • Вопрос задан
  • 661 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
  • Учебный центр IBS
    C-009 Программирование на языке C++ middle
    1 неделя
    Далее
Решения вопроса 1
EgoRusMarch
@EgoRusMarch Автор вопроса
C++ Developer
Разобрался, для этого есть PATH_SUFFIXES, а PATHS/HINTS так не работает (пути не конкатенируются):
set(CMAKE_LIBRARY_PATH C:/Users/march/Desktop/)

find_library(av_codec
    NAMES
        avcodec
    PATH_SUFFIXES
        ffmpeg-4.3-win64-dev/lib/
    REQUIRED
)

message(${av_codec})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы