Zie*_*eng 5 linux compilation pyqt qscintilla pyqt5
首先,我按照以下步骤安装QScintilla:
1:
cd Qt4Qt5
qmake qscintilla.pro
sudo make
make install
Run Code Online (Sandbox Code Playgroud)
2:
cd ../designer-Qt4Qt5
qmake designer.pro
sudo make
sudo make install
Run Code Online (Sandbox Code Playgroud)
3:
cd ../Python
python3 configure.py --pyqt=PyQt5
sudo make
Run Code Online (Sandbox Code Playgroud)
在这里我遇到了问题:
QAbstractScrollArea: No such file or directory
Run Code Online (Sandbox Code Playgroud)
和问题:
qprinter.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
但我终于通过手动添加所需文件解决了这些问题.
继续:
sudo make install
Run Code Online (Sandbox Code Playgroud)
4:
然后我输入以下命令安装eric6:
sudo python3 install.py
Run Code Online (Sandbox Code Playgroud)
但我得到了:
检查依赖项
Python版本:3.4.0
找到PyQt5
对不起,请安装QScintilla2及其PyQt5/PyQt4包装器.
错误:/usr/lib/python3/dist-packages/PyQt5/Qsci.so:未定义符号:_ZTI13QsciScintilla
主要问题是您链接的是 Qt4 而不是 Qt5。这就是为什么QAbstractScrollArea
和QPrinter
标头被报告为缺失,以及您稍后收到undefined symbol
错误的原因。
QScintilla 使用功能文件来控制编译时配置,并且需要修补其源代码才能获得 Qt5 的良好构建。
因此,首先解压一组新的源代码,然后进行以下更改:
设计师-Qt4Qt5/designer.pro:
TARGET = qscintillaplugin_qt5
Run Code Online (Sandbox Code Playgroud)
Qt4Qt5/features/qscintilla2.prf:
} else {
LIBS += -lqscintilla2_qt5
}
}
} else {
LIBS += -lqscintilla2_qt5
}
Run Code Online (Sandbox Code Playgroud)
Qt4Qt5/qscintilla.pro:
TARGET = qscintilla2_qt5
...
features.path = $$[QT_INSTALL_ARCHDATA]/mkspecs/features
Run Code Online (Sandbox Code Playgroud)
这将确保您获得 Qt5 的独立 qscintilla 库。
完成后,按照以下步骤进行构建(作为普通用户):
TARGET = qscintillaplugin_qt5
Run Code Online (Sandbox Code Playgroud)
如果成功,您就可以安装所有内容(以 root 身份):
cd 'path/to/src/Qt4Qt5'
make install
cd '../designer-Qt4Qt5'
make install
cd '../Python'
make install
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3134 次 |
最近记录: |