我正在尝试使用GUI(QT)安装名为bgslibrary的软件。 cmake
生成构建文件没有问题。但是当我make
时,我收到与libgtk
和cairo
相关的以下错误:
/usr/lib/x86_64-linux-gnu//libgtk-3.so.0: undefined reference to `cairo_surface_set_device_scale'
我正在使用Ubuntu 16.04和gcc 5.4.1,我也安装了Anaconda作为Python发行版。我搜索了一下,发现有些人通过从$HOME/anaconda/lib
删除他们的LD_LIBRARY_PATH
目录解决了这个问题,因为不知何故Anaconda可能会干扰gtk
库。我尝试了这个,但它对我不起作用。
我还检查了系统上libgtk
和cairo
的版本和符号链接。
/usr/lib/x86_64-linux-gnu//libgtk-3.so.0 -> libgtk-3.so.0.1800.9
和sudo apt-get install libcairo2-dev
产生:
libcairo2-dev is already the newest version (1.14.6-1).
libgtk
和cairo
版本之间是否存在不匹配?我记得在其他需要gtk
的软件时遇到此错误,所以我想知道是否有类似的问题。谢谢!
答案 0 :(得分:0)
在gedit和eclipse中,我也有相同的错误。
解决方案是将LD_LIBRARY_PATH更改为使用
libcairo-script-interpreter.so.2-> libcairo-script-interpreter.so.2.11512.0
libcairo.so.2-> libcairo.so.2.11512.0
代替libcairo-script-interpreter和libcairo的11200版本 造成问题的原因
libcairo-script-interpreter.so.2-> libcairo-script-interpreter.so.2.11200.18
libcairo.so.2-> libcairo.so.2.11200.18