Компиляция и установка
LibRaw поставляется в исходных текстах, для использования необходимо их скомпилировать (и, при желании, установить в системные каталоги с библиотеками и include-файлами)
Unix-системы (FreeBSD, Linux, Mac OS X)
Для сборки библиотеки вам нужен работающий компилятор C++ (gcc версий 3.x или 4.x вполне подойдет, сборка другими компиляторами не тестировалась) и программа make. Никаких других библиотек, утилит и т.п. - не требуется.
LibRaw тестировалась на 32-битных и 64-битных Unix-системах на x86- (и AMD64-) совместимых процессорах. Сборка и работоспособность на каких-либо еще архитектурах не тестировалась.
Компиляция библиотеки и примеров
Распакуйте скачанный дистрибутив, перейдите в получшвшийся каталог и запустите make:
tar xzvf LibRaw-X.YY.tar.gz
cd LibRaw-X.YY
make
В результате скомпилируются:
- Библиотеку libraw.a в каталоге lib/
- Примеры в каталоге bin/ (исходные тексты примеров находятся в каталоге samples).
В текущей версии собираются только статические библиотеки:
- libraw.a - не thread_safe вариант
- libraw_r.a - thread safe
Сборка с lcms
Для сборки с поддержкой ICC-профилей необходимо раскомментировать в Makefile две строчки, следующие после строки
# LCMS supportПредполагается, что библиотека lcms установлена в /usr/local/lib или /usr/lib, а lcms.h - в /usr/local/include или /usr/include. Если на вашей системе это не так, то придется подправить пути в LCMS_DEF и LCMS_LIB в Makefile
Поддержка OpenMP
Для сборки с автоматическим распараллеливанием ряда ресурсоемких стадий обработки необходимо раскомментировать в Makefile одну строчку, следующую после строки
# OpenMP support
Установка и использование
Для установки библиотеки выполните команду
make install
Она установит библиотеки в /usr/local/lib, а include-файлы в /usr/local/include (в подкаталог libraw).
Для использования LibRaw добавьте следующие параметры к вызову компилятора (при сборке собственных проектов):
- Путь к Include-файлам: -I/usr/local/include
- Путь к библиотекам: -L/usr/local/lib
- Библиотека: -lraw (обычная версия) или -lraw_r (thread-safe версия)
Установка примеров
Для установки примеров выполните команду make install-binaries, которая скопирует все скомпилированные примеры в /usr/local/bin
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-файлов должен задаваться вручную.