【问题标题】:Undefined symbol error importing PySide导入 PySide 时出现未定义符号错误
【发布时间】:2015-01-16 06:44:12
【问题描述】:

我正在尝试在 CentOS 6 上创建 Python 2.7 安装,其中包括 PySide。我按照these 的说明编译了一个轮子包,并安装它没有错误。

但是,当我尝试运行安装后脚本时出现此错误:

/opt/python/lib/python2.7/site-packages/PySide/libpyside-python2.7.so.1.1: undefined symbol: _ZN9QMetaType15registerTypedefEPKci

我在 IPython 中使用“从 PySide 导入 QtCore”时遇到同样的错误。

这些是我用来构建和安装的命令:

/opt/python/bin/python setup.py bdist_wheel --qmake=/opt/python/lib/qt4/bin/qmake
cp dist/PySide-1.2.2-cp27-none-linux-x86_64.whl /opt/python/src
cd /opt/python
bin/pip ../src/PySide-1.2.2-cp27-none-linux-x86_64.whl
bin/python bin/pyside_postinstall.py -install

更新:我可以通过将 LD_LIBRARY_PATH 设置为包含 /opt/python/lib/qt4 来解决此问题。我假设这将通过在编译时设置 qmake 路径来内置到 PySide 中。

有没有办法在不设置 LD_LIBRARY_PATH 的情况下做到这一点?

【问题讨论】:

    标签: python-2.7 pyside centos6 undefined-symbol


    【解决方案1】:

    将 Qt 配置命令更改为:

    ./configure -debug -rpath -prefix '/opt/python/lib/qt4' | tee config.log
    

    使用 -rpath 可以使使用自定义 qmake 构建的所有内容都将 Qt 库路径硬编码到其中。

    【讨论】:

      猜你喜欢
      • 2012-10-13
      • 2020-11-05
      • 1970-01-01
      • 1970-01-01
      • 2021-07-23
      • 2014-06-30
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多