我想构建一些代码示例,它依赖于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$
但看起来它在系统中不可用。
知道它可以在哪里吗? 我该怎么办? 我怎么能找到它?
谢谢 格雷格。
答案 0 :(得分:3)
好的,我找到了答案。
我认为库名将是:libopenexr * .so,但我错了。
libopenexr包提供的库的正确名称是libIlmImf
** IlmImf - a library that reads and writes OpenEXR images.**
最好的问候
格雷格
P.S。我永远不会理解为什么人们会给出这样的名字,甚至不可能发音,甚至根本不提及与包名无关。
答案 1 :(得分: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 基于对文件进行低级操作的工具:
so 库 (lib) 被命名为 libIlmImf。
名称正在更改,在 OpenEXR 3.x 中,库将是 libOpenEXR。