3

我想构建一些依赖于libopenexr库的代码示例。

我找到了这两个包:

wiesniak@wiesniak-Precision-M4800:~/OpenGLSB5E_build$ apt-cache search openexr
...
libopenexr-dev - development files for the OpenEXR image library
libopenexr6 - runtime files for the OpenEXR image library
...

我尝试安装它们,但是它们已经安装:

wiesniak@wiesniak-Precision-M4800:~/OpenGLSB5E_build$ sudo apt-get install libopenexr6 libopenexr-dev
...
libopenexr-dev is already the newest version.
libopenexr6 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

我在/usr/include中看到包含文件,但是我找不到相应的库。所以我无法链接项目。我做了几次尝试,例如:

wiesniak@wiesniak-Precision-M4800:~/OpenGLSB5E_build$ ldconfig -p |grep exr
wiesniak@wiesniak-Precision-M4800:~/OpenGLSB5E_build$ 

但它看起来在系统中不可用。

知道它在哪里吗?我应该多做些什么?我怎样才能找到它?

4

2 回答 2

3

好的,我找到了答案。

我假设库名称类似于:libopenexr*.so,但我错了。

libopenexr 包提供的库的正确名称是 libIlmImf

** IlmImf - a library that reads and writes OpenEXR images.**

此致

格雷格

PS我永远不会明白为什么人们给了这样的名字,甚至不可能发音,甚至根本不提与包名无关。

于 2014-12-16T12:08:45.980 回答
2

尝试dlocate

 dlocate openexr

结果是:

gstreamer1.0-plugins-bad:amd64: /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstopenexr.so
libopenexr24:amd64: /.
libopenexr24:amd64: /usr
libopenexr24:amd64: /usr/lib
libopenexr24:amd64: /usr/lib/x86_64-linux-gnu
libopenexr24:amd64: /usr/lib/x86_64-linux-gnu/libIlmImf-2_3.so.24.0.0
libopenexr24:amd64: /usr/lib/x86_64-linux-gnu/libIlmImfUtil-2_3.so.24.0.0
libopenexr24:amd64: /usr/share
libopenexr24:amd64: /usr/share/doc
libopenexr24:amd64: /usr/share/doc/libopenexr24
libopenexr24:amd64: /usr/share/doc/libopenexr24/changelog.Debian.gz
libopenexr24:amd64: /usr/share/doc/libopenexr24/copyright
libopenexr24:amd64: /usr/share/lintian
libopenexr24:amd64: /usr/share/lintian/overrides
libopenexr24:amd64: /usr/share/lintian/overrides/libopenexr24
libopenexr24:amd64: /usr/lib/x86_64-linux-gnu/libIlmImf-2_3.so.24
libopenexr24:amd64: /usr/lib/x86_64-linux-gnu/libIlmImfUtil-2_3.so.24
...

OpenEXR 基于对文件进行低级操作的工具:

  • 图像格式 (imf)
  • 由工业光魔 (ilm) 创建

所以库(lib)被命名为libIlmImf。

名称正在更改,在 OpenEXR 3.x 中,库将是libOpenEXR

于 2020-12-20T06:41:25.673 回答