【LibRaw】原始图像解码库介绍(二)——编译和安装

编译和安装

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目录并运行./configuremake

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系统下的构建和安装完全相似

扫描二维码关注公众号,回复: 1867252 查看本文章

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和包含文件的路径。

猜你喜欢

转载自blog.csdn.net/mr_sandman1994/article/details/80896388
今日推荐