qt - 如何解决在 Ubuntu 上安装 Qt 时出现符号查找错误
问题描述
我在 Ubuntu 上完成了 Qt 的安装,但是当我想启动 Qt Creator 时,出现如下错误:
/home/jackho/anaconda3/bin/python: symbol lookup error: /home/jackho/anaconda3/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforms/../../lib/libQt5XcbQpa.so.5: undefined symbol: FT_Get_Font_Format
我该如何解决这个问题?
我已经多次重新安装了 Qt 和 PyQt5,但没有成功。
解决方案
问题是 freetype 库在 2015 年的某个地方将 FT_Get_X11_Font_Format 重命名为 FT_Get_Font_Format。请参阅https://github.com/juj/emscripten-freetype/commit/f4d1c11faa116daad655b50828a434babbdaed2a 旧符号 FT_Get_X11_Font_Format 仍在新版本的库中定义以实现向后兼容, 但新符号当然没有在旧库中定义(例如 Debian 8.11 Jessie 的版本)。较新的 QtCreator 将尝试调用新符号(通过 PyQt5)但找不到它。
对于 QtCreator,这里提到了一种解决方法:https : //bugreports.qt.io/browse/QTBUG-74375 我实际上没有尝试过,因为我没有运行 QtCreator,而是另一个基于 PyQt5 的应用程序。
更基本的解决方案是安装更新版本的 freetype 库。freetype 库的源代码可以从 Github 下载,地址为https://github.com/juj/emscripten-freetype。编译和安装最新版本为我解决了这个问题。
推荐阅读
- c - C- 使用内核模块显示 CPU 信息
- javascript - 尽管存在路线,但未捕获 JADE 表单提交
- .htaccess - mod_rewrite 规则 htaccess 未按预期工作
- bash - 在值之间查找多个字符串并在bash中用换行符替换
- ruby-on-rails - Rails 方法而不是模型的 has_many 中的 id
- regex - 正则表达式等于或高于 125233000
- javascript - 更新 observable 中的值而不解析先前的运算符
- java - 当我在我的 android mobile samsung j7 prime 上运行 android 项目时,手机无法授予权限
- ionic-framework - 通过 Ionic 向 Web API 发送多条记录
- javascript - 无法使用 Laravel Mix 访问 Vue 组件中的 js-cookie