LibRaw以源代码的形式分发。为了进一步使用,应编译它们(如果需要,还可以将它们放入带有库和包含文件的系统文件夹中)。
Unix系统(FreeBSD,Linux,Mac OS X)
要构建库,您需要一个可用的C ++编译器(gcc版本3.x或4.x可以;其他编译器尚未经过测试)和make实用程序。不需要其他库或实用程序。
LibRaw已经在32位和64位Unix系统上进行了测试,这些系统在x86(和AMD64-)兼容处理器上运行。其他架构的构建和工作尚未经过测试。
图书馆和实例的汇编
解压缩下载的分发包。如果您想使用LibRaw-demosaic-pack(s),请解压缩这些档案:
tar xzvf LibRaw-X.YY.tar.gz
tar xzvf LibRaw-demosaic-pack-GPL2-X.YY.tar.gz
tar xzvf LibRaw-demosaic-pack-GPL3-X.YY.tar.gz
tar xzvf LibRaw-X.YY.tar.gz
转到LibRaw目录并运行./configure并make:
cd LibRaw-X.YY
./configure#with optional args
使
结果,你将编译
- lib /文件夹中的库libraw.a
- 实施例在bin /文件夹(实施例的源代码是在所述样品/文件夹)。
在当前版本中,仅构建静态库:
- libraw.a:非线程安全版本
- libraw_r.a:线程安全
构建参数
./configure脚本有一些非标准参数:
--enable-openmp
--disable-openmp
-
如果编译器支持,则启用/禁用OpenMP支持。默认情况下启用OpenMP。
--enable-lcms
--disable-lcms
-
启用/禁用LCMS颜色引擎支持。如果启用,。/ configure将尝试查找lcms库。LCMS-1.x和LCMS-2.x均受支持默认情况下启用LCMS支持
--enable-examples
--disable-examples
-
启用/禁用示例编译和安装。默认启用
--enable-demosaic-pack-gpl2
--enable-demosaic-pack-gpl2 = FOLDERNAME
--enable-demosaic-pack-gpl2 = no
--disable-demosaic-pack-gpl2
-
启用/禁用对GPL2下许可的其他demosaic方法的支持您需要下载并解压缩LibRaw-demosaic-pack-GPL2存档才能使用此功能。
./configure将尝试在以下位置找到demosaic pack:
- 如果通过--enable-demosaic-pack-gpl2 = FOLDERNAME命令行选项指定了文件夹,则仅检查此文件夹。
- 如果--enable-demosaic-pack-gpl2开关中没有指定文件夹:
- ./LibRaw-demosaic-pack-GPL2(在LibRaw文件夹中)
- ../LibRaw-demosaic-pack*GPL2* - 上级文件夹
如果上层目录中存在多个../LibRaw-demosaic-pack*GPL2*文件夹,那么./configure将不会因为歧义而使用任何文件夹。在这种情况下使用--enable-demosaic-pack-gpl2 = FOLDERNAME指定确切的文件夹名称
--enable-demosaic-pack-gpl3
--enable -demosaic -pack-gpl3 = FOLDERNAME
--enable-demosaic-pack-gpl3 = no
--disable-demosaic-pack-gpl3
-
与上述相同,但适用于GPL3许可的demosaic pack。
安装和使用
要安装库,请运行
sudo make install
它将库放在/ usr / local / lib中,将/ usr / local / include(libraw的子文件夹)中的include文件和LibRaw示例放到/ usr / local / bin中。您可以使用./configure脚本覆盖安装路径。
要使用LibRaw,请将以下参数添加到编译器调用中(构建自己的项目时):
- 包含文件的路径:-I / usr / local / include
- 库的路径:-L / usr / local / lib
- 库:-lraw(普通版)或-lraw_r(线程安全版)。
Windows:在Cygwin下构建
构建和安装与Unix系统下的构建和安装完全相似。
Windows:原生建筑
在Windows下构建有三个步骤:
- 解压缩分发包(如果你没有tar + gzip,请以.ZIP格式获取LibRaw分发包)并转到文件夹LibRaw-X.YYY。
- 设置环境参数,以便编译器/链接器可以找到库和包含文件。对于Visual C ++,这是通过运行vcvars32.bat来完成的。
- 运行
nmake -f Makefile.msvc
如果所有路径都已正确设置并且找到了include-files / libraries,那么将编译以下内容:
- 文件夹lib中的库libraw_static.lib
- 动态库bin / libraw.dll和lib / libraw.lib的链接库
- 文件夹bin /中的示例。
只有线程安全库是在Win32下构建的,但它也可以与非线程应用程序一起使用。所有示例都与动态库(DLL)链接; 如果需要静态链接,则应将应用程序与库libraw_static.lib链接,并在编译期间设置预处理器选项/ DLIBRAW_NODLL。
Windows版本现在编译时没有LCMS支持。
在构建DLL期间,导出所有公共函数; 此外,可以减少导出的子集。
不幸的是,include / libraries的路径取决于Visual C(或其他编译器)的安装方式; 因此,不可能在Makefile.msvc中指定一些标准路径。
Windows安装
不支持Windows下的安装。假设所有DLL将与使用它们的软件一起提供(并且该软件将执行安装)。因此,在使用LibRaw构建程序时,应手动指定库,DLL和包含文件的路径。