Qt GTK:未定义对“cairo#u surface_set_device#u scale'”的引用;
我正在尝试安装一个名为WithGUI(QT)的软件Qt GTK:未定义对“cairo#u surface_set_device#u scale'”的引用;,qt,gtk,cairo,Qt,Gtk,Cairo,我正在尝试安装一个名为WithGUI(QT)的软件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发行版。我在谷歌上搜索了一下,发现有些人
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发行版。我在谷歌上搜索了一下,发现有些人通过从LD\u LIBRARY\u路径
中删除他们的$HOME/anaconda/lib
目录解决了这个问题,因为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
的软件中也遇到了这个错误,所以我想知道是否有人有类似的问题。谢谢 我在gedit和eclipse中也有相同的错误
解决方案是将LD_LIBRARY_路径更改为使用
libcairo脚本解释器.so.2->libcairo脚本解释器.so.2.11512.0
libcairo.so.2->libcairo.so.2.11512.0
而不是版本11200的libcairo脚本解释器和libcairo
问题出在哪里
libcairo脚本解释器.so.2->libcairo-script-解释器.so.2.11200.18
libcairo.so.2->libcairo.so.2.11200.18我刚刚意识到,当我尝试启动Eclipse时,我也会遇到同样的错误:
/usr/bin/java:symbol lookup error:/usr/lib/x86\u 64-linux-gnu/libgdk-3。so.0:未定义的符号:cairo\u surface\u set\u device\u scale
/opt/Eclipse/Eclipse:symbol lookup error:/usr/lib/x86\u 64-linux-gnu/libgdk-3.so.0:未定义符号:cairo\u surface\u set\u device\u scale