首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复错误:无法加载共享库,符号未定义

如何修复错误:无法加载共享库,符号未定义
EN

Stack Overflow用户
提问于 2020-06-16 16:27:23
回答 1查看 936关注 0票数 1

我有一个python脚本,它使用pyinstaller将其转换为“一个文件可执行文件”。可执行文件在我的计算机中运行,没有任何问题。当它在另一台计算机中运行时,其中一个线程似乎停止在使用gtk和wnck的地方工作。

未能加载由键入linux: /usr/lib/x86_64-linux-gnu/libwnck-3.0.so.0:未定义符号: gdk_display_get_monitor_at_window引用的共享库'libwnck-3.so.0‘

当可执行文件在另一台计算机的终端中运行时(我猜是在读取import语句时),就会显示上述警告。

当它到达下一行时抛出一个错误;

screen = Wnck.Screen.get_default()

GLib.GError: G-invoke-error-夸克:无法找到wnck_screen_get_default: /usr/lib/x86_64-linux-gnu/libwnck-3.0.so.0:未定义符号: gdk_display_get_monitor_at_window (1)

当发生错误时,将执行以下函数

代码语言:javascript
复制
import gi
gi.require_version('Wnck', '3.0')
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Wnck

def my_window():
    screen = Wnck.Screen.get_default()  -- this line throws error
    screen.force_update()
    while True:
        time.sleep(.5)
        while Gtk.events_pending():
            Gtk.main_iteration()
        new_window = screen.get_active_window()
        ....
        ....

我正在使用- Ubuntu 16.04,异种。libgtk-3-0: 3.18.9版本

其他计算机用途-Ubuntu18.04.4仿生版libgtk-3-0: 3.22.30

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-17 16:21:26

您使用的libwnck副本是针对包含gdk_display_get_monitor_at_window()函数的GDK版本编译的,但是您在系统上安装的GDK副本不包含此函数。

gdk_display_get_monitor_at_window()函数是在GTK 3.22中引入的,因此必须确保已经安装了GDK3.22或更高版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62413223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档