LibRaw поставляется в исходных текстах, для использования необходимо их скомпилировать (и, при желании, установить в системные каталоги с библиотеками и include-файлами)
Unix-системы (FreeBSD, Linux, Mac OS X)
Для сборки библиотеки вам нужен работающий компилятор C++ (gcc версий 3.x или 4.x вполне подойдет, сборка другими компиляторами не тестировалась) и программа make. Никаких других библиотек, утилит и т.п. - не требуется.
LibRaw тестировалась на 32-битных и 64-битных Unix-системах на x86- (и AMD64-) совместимых процессорах. Сборка и работоспособность на каких-либо еще архитектурах не тестировалась.
Компиляция библиотеки и примеров
Распакуйте скачанный дистрибутив. Если вы хотите использовать дополнительные наборы интерполяторов (дебайеризаторов), распакуйте соответствующий архив LibRaw-demosaic-pack:
tar xzvf LibRaw-X.YY.tar.gz tar xzvf LibRaw-demosaic-pack-X.YY.tar.gz
Перейдите в каталог ./LibRaw-X.YY и запустите ./configure а затем make:
cd LibRaw-X.YY ./configure # см. ниже параметры ./configure make
В результате скомпилируются:
- Библиотеку libraw.a в каталоге lib/
- Примеры в каталоге bin/ (исходные тексты примеров находятся в каталоге samples).
В текущей версии собираются только статические библиотеки:
- libraw.a - не thread_safe вариант
- libraw_r.a - thread safe
Для установки выполните команду make install от пользователя с соответствующими правами:
sudo make install
Параметры сборки
Для задания параметров сборки (использование OpenMP, использование LCMS) и установки, запустите скрипт configure с нужными параметрами (./configure --help покажет список параметров).
Описание нестандартных параметров:
- --enable-openmp
--disable-openmp - Включает/выключает проверки поддержки OpenMP если ваш компилятор поддерживает OpenMP. По-умолчанию, проверка поддержки OpenMP включена. Если проверкой установлено, что OpenMP поддерживается, то LibRaw будет собрана с OpenMP.
- --enable-lcms
--disable-lcms - Включает-выключает проверку наличия библиотеки LCMS на компьютере. Если проверка включена и библиотека найдена, то LibRaw будет скомпилирована с поддержкой LCMS.
-
--enable-examples
--disable-examples - Включает-выключает компиляцию примеров использования LibRaw
-
--enable-demosaic-pack-gpl2
--enable-demosaic-pack-gpl2=FOLDERNAME
--enable-demosaic-pack-gpl2=no
--disable-demosaic-pack-gpl2 - Включает (первые две опции)/выключает проверку наличия LibRaw-demosaic-pack-GPL2.
Если проверка включена и каталог с дополнительными дебайеризаторами найден - LibRaw будет собрана с
дополнительными методами интерполяции.
Поиск дополнительных дебайеризаторов производится:- Если каталог с дебайеризаторами задан через --enable-demosaic-pack-gpl2=FOLDERNAME, то только в каталоге FOLDERNAME.
-
Если каталог не указан то поиск будет производиться в
- ./LibRaw-demosaic-pack-GPL2 (внутри текущего каталога LibRaw)
- ../LibRaw-demosaic-pack*GPL2* (на один уровень выше).
-
--enable-demosaic-pack-gpl3
--enable-demosaic-pack-gpl3=FOLDERNAME
--enable-demosaic-pack-gpl3=no
--disable-demosaic-pack-gpl3 - То же самое, что для demosaic-pack-GPL2 (см. выше).
Windows, сборка под Cygwin
Сборка и установка полностью аналогична сборке и установке на unix-системах.
Windows, native-сборка
Сборка под Windows делается в три шага:
- Распакуйте дистрибутив (если у вас нет tar+gzip, возьмите дистрибутив LibRaw в формате .ZIP), перейдите в каталог LibRaw-X.YYY
- Нужно установить переменные окружения так, чтобы компилятор/линковщик находил библиотеки и include-файлы. Для Visual C++ это делается запуском vcvars32.bat.
-
Запускается
nmake -f Makefile.msvc
Если все пути установлены правильно и include-файлы/библиотеки нашлись, то скомпилируются:
- Библиотека libraw_static.lib в каталоге lib
- Динамическая библиотека bin/libraw.dll и линковочная библиотека к ней lib/libraw.lib
- Примеры в каталоге bin
Под Win32 собирается только thread-safe библиотека, ее можно использовать и не с multi-threaded-приложениями. Все примеры собираются с динамической библиотекой (DLL), при необходимости использовать статическую сборку, нужно линковаться с библиотекой libraw_static.lib а при компиляции указывать директиву препроцессора /DLIBRAW_NODLL.
Windows-версия в настоящее время собирается без поддержки библиотеки LCMS (ICC-профилей).
При сборке DLL экспортируются все публичные функции, в дальнейшем экспортируемое подмножество может быть уменьшено.
К сожалению, пути к include/библиотекам зависят от способа, которым у вас установлен Visual C (или другой компилятор), поэтому вписать какие-то стандартные пути в Makefile.msvc невозможно.
Windows, установка
Какая-либо установка под Windows не поддерживается, предполагается что все .DLL будут поставляться вместе с использующей их программой (которая и сделает установку). Соответственно, при сборке программ, использующих LibRaw путь до библиотек, DLL и include-файлов должен задаваться вручную.
Новые комментарии