【问题标题】:GTK: undefined reference to `cairo_surface_set_device_scale'GTK:未定义对“cairo_surface_set_device_scale”的引用
【发布时间】:2017-03-20 10:52:32
【问题描述】:

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

/usr/lib/x86_64-linux-gnu//libgtk-3.so.0: undefined reference to `cairo_surface_set_device_scale'

我正在使用带有 gcc 5.4.1 的 Ubuntu 16.04,我还安装了 Anaconda 作为 Python 发行版。我用谷歌搜索了一下,发现有些人通过从LD_LIBRARY_PATH 中删除他们的$HOME/anaconda/lib 目录解决了这个问题,因为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 的软件也遇到过这个错误,所以我想知道是否有人有类似的问题。谢谢!

【问题讨论】:

  • 我刚刚意识到,当我尝试启动 Eclipse 时,我也遇到了同样的错误:/usr/bin/java: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgdk-3.so.0: undefined symbol: cairo_surface_set_device_scale/opt/eclipse/eclipse: symbol lookup error: /usr/lib/x86_64-linux-gnu/libgdk-3.so.0: undefined symbol: cairo_surface_set_device_scale

标签: qt gtk cairo


【解决方案1】:

我在 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

代替版本 11200 的 libcairo-script-interpreter 和 libcairo 问题出在哪里

libcairo-script-interpreter.so.2 -> libcairo-script-interpreter.so.2.11200.18

libcairo.so.2 -> libcairo.so.2.11200.18

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 2022-01-21
    • 2011-03-27
    • 2022-01-22
    • 2016-04-04
    相关资源
    最近更新 更多