TransWikia.com

Почему find_library() не ищет путь внутри CMAKE_LIBRARY_PATH?

Stack Overflow на русском Asked by megorit on December 16, 2021

С полным путём ищет, а так (см. ниже) нет.

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, или как?

One Answer

Разобрался, для этого есть 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})

Answered by megorit on December 16, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP