GTK:对`cairo_surface_set_device_scale'的未定义引用

时间:2017-03-20 10:52:32

标签: qt gtk cairo

我正在尝试使用GUI(QT)安装名为bgslibrary的软件。 cmake生成构建文件没有问题。但是当我make时,我收到与libgtkcairo相关的以下错误:

/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库。我尝试了这个,但它对我不起作用。

我还检查了系统上libgtkcairo的版本和符号链接。

/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).

libgtkcairo版本之间是否存在不匹配?我记得在其他需要gtk的软件时遇到此错误,所以我想知道是否有类似的问题。谢谢!

1 个答案:

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