cmake не может найти требуемый пакет TIFF

Я пытаюсь создать приложение через cmake 3.9.0. Cmake продолжает жаловаться на невозможность найти библиотеку tiff: CMake error at CMakeModules/FindPackageHandleStandardArgs.cmake:51 (Message): Could not find REQUIRED package TIFF). Я пытался установить библиотеку через sudo apt-get install libtiff5-dev, но все равно получал то же сообщение. Затем я проверил исходный код libtiff 4 и собрал его из исходного кода. Теперь я думаю, что мы можем указать cmake место, где искать libtiff, установив переменные TIFF_INCLUDE_DIR, TIFF_INCLUDE_DIRS и т. д., как описано здесь: https://cmake.org/cmake/help/v3.6/module/FindTIFF.html. Однако мне не удалось подключить правильные значения для переменных. Может ли кто-нибудь показать мне пример установки libtiff и образцы значений для переменной конфигурации, чтобы cmake нашел TIFF. Или вот еще вариант как показать CMake где лежит библиотека TIFF?


person TechCrap    schedule 02.08.2017    source источник


Ответы (1)


cd build
cmake -DTIFF_INCLUDE_DIR=<dir> -DTIFF_LIBRARY=<filename> -GNinja ..
cmake --build .

В качестве альтернативы вы можете изменить переменные в вашем CMakeLists.txt перед вызовом find_package():

set(TIFF_INCLUDE_DIR "<dir>")
set(TIFF_LIBRARY "<filename>")
find_package(TIFF)

add_executable(myexe TIFF::TIFF)

где <dir> — путь к каталогу включения, а <filename> — точный путь к файлу библиотеки.

person utopia    schedule 02.08.2017
comment
Спасибо за ответ. Поэтому я проверяю исходный код. _INCLUDE_DIR — это папка с заголовками в папке исходного кода. Правильный? А TIFF_LIBRARY - это выходной файл .so или .a? - person TechCrap; 03.08.2017
comment
@SimeonKredatus точно. - person utopia; 03.08.2017