使用LibTiff编译Ogre - 未定义的引用

时间:2014-10-03 08:02:09

标签: c++ gcc makefile ogre libtiff

我需要使用RoS将ogre编译为gazebo的依赖项。在链接过程中,我收到以下错误:

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 个答案:

答案 0 :(得分:0)

官方的Ogre3D依赖项(可以找到here)目前基于 FreeImage 3.15.3 ,内部基于 LibTIFF 4.0.1

使用这些版本可能会解决您的问题。