使用 LibTiff 编译 Ogre - 未定义的参考
Posted
技术标签:
【中文标题】使用 LibTiff 编译 Ogre - 未定义的参考【英文标题】:Compiling Ogre with LibTiff - undefined reference 【发布时间】:2014-10-03 08:02:09 【问题描述】:我需要将 ogre 编译为带有 RoS 的凉亭的依赖项。在链接它的过程中,我收到以下错误:
Linking CXX executable ../../bin/SampleBrowser
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib/libfreeimage.so: undefined reference to `TIFFReadEncodedStrip@LIBTIFF_4.0'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib/libfreeimage.so: undefined reference to `TIFFReadEXIFDirectory@LIBTIFF_4.0'
...
这些错误似乎是由于缺少 libtiff5 造成的。即使在安装了 libtiff5、libtiff5-dev 和 libtiff4、libtiff4-dev 之后,它也不会被链接器拾取。我通过源代码安装了 libtiff 4.0.3,但我认为我的系统现在非常混乱,以至于它总是使用错误的库版本。
ls /usr/lib/x86_64-linux-gnu | grep libtiff
给我:
libtiff.a
libtiff.la
libtiff.so
libtiff.so.4
libtiff.so.4.3.6
libtiff.so.5
libtiff.so.5.2.0
libtiffxx.a
libtiffxx.la
libtiffxx.so
libtiffxx.so.0
libtiffxx.so.0.0.10
libtiffxx.so.5
libtiffxx.so.5.2.0
运行 debian jessie x64。
【问题讨论】:
【参考方案1】:官方的 Ogre3D 依赖项(可以在 here 找到)目前基于 FreeImage 3.15.3,内部基于 LibTIFF 4.0.1。 p>
使用这些版本可能会解决您的问题。
【讨论】:
以上是关于使用 LibTiff 编译 Ogre - 未定义的参考的主要内容,如果未能解决你的问题,请参考以下文章