首先我按照以下步骤安装QScintilla:
1:
cd Qt4Qt5
qmake qscintilla.pro
sudo make
make install
2:
cd ../designer-Qt4Qt5
qmake designer.pro
sudo make
sudo make install
3:
cd ../Python
python3 configure.py --pyqt=PyQt5
sudo make
在这里我遇到了问题:
QAbstractScrollArea: No such file or directory
和问题:
qprinter.h: No such file or directory
但我最终通过手动添加所需文件解决了这些问题。
继续:
sudo make install
4:
然后我输入以下命令安装eric6:
sudo python3 install.py
但我得到了:
检查依赖关系
Python版本:3.4.0
找到PyQt5
对不起,请安装QScintilla2和 它的PyQt5 / PyQt4包装器。
错误:/usr/lib/python3/dist-packages/PyQt5/Qsci.so:未定义的符号:_ZTI13QsciScintilla
答案 0 :(得分:3)
主要问题是你是在连接Qt4而不是Qt5。这就是为什么QAbstractScrollArea
和QPrinter
标题被报告为丢失的原因,以及为什么稍后会出现undefined symbol
错误。
QScintilla使用功能文件来控制编译时配置,需要对其源代码进行修补以获得Qt5的良好构建。
首先解压缩一组新的来源,然后进行这些更改:
<强>设计者Qt4Qt5 / designer.pro 强>:
TARGET = qscintillaplugin_qt5
<强> Qt4Qt5 /特征/ qscintilla2.prf 强>:
} else {
LIBS += -lqscintilla2_qt5
}
}
} else {
LIBS += -lqscintilla2_qt5
}
<强> Qt4Qt5 / qscintilla.pro 强>:
TARGET = qscintilla2_qt5
...
features.path = $$[QT_INSTALL_ARCHDATA]/mkspecs/features
这将确保您为Qt5获得独立的qscintilla库。
完成后,请按照以下步骤构建(作为普通用户):
cd 'path/to/src/Qt4Qt5'
# this is essential for correct linking
export QMAKEFEATURES="$PWD/features"
# make sure you use the right qmake!
qmake-qt5 'qscintilla.pro'
make
# plugin for Qt5 Designer
cd '../designer-Qt4Qt5'
qmake-qt5 'designer.pro' INCLUDEPATH+='../Qt4Qt5' QMAKE_LIBDIR+='../Qt4Qt5'
make
# Python bindings
cd '../Python'
python3 'configure.py' --pyqt='PyQt5' --qmake='/usr/bin/qmake-qt5' \
--qsci-incdir='../Qt4Qt5' --qsci-libdir='../Qt4Qt5'
make
如果成功,您可以安装所有内容(以root用户身份):
cd 'path/to/src/Qt4Qt5'
make install
cd '../designer-Qt4Qt5'
make install
cd '../Python'
make install
答案 1 :(得分:0)
ekhumoro's solution above对我来说并不适合 - 让我们说也许我错过了一些东西,或者它是一个环境特定的东西。
无论如何....我做了ekhumoro建议的 ,除了没有编辑这三个文件 :( XXX)
- designer-Qt4Qt5/designer.pro
- Qt4Qt5/features/qscintilla2.prf
- Qt4Qt5/qscintilla.pro
编辑它们的原因看似合理,但在当天结束时,Eric安装失败了:
Sorry, please install QScintilla2 and its PyQt5/PyQt4 wrapper.
Error:
dlopen(/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/PyQt5/Qsci.so, 2):
Library not loaded: libqscintilla2_qt5.12.dylib
^^^^
Referenced from: /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/PyQt5/Qsci.so
Reason: image not found
注意_qt5标有^^^^ - 理论上应该解决,但对我来说却没有。我尝试了各种各样的事无济于事。可能是我对某些环境的无知。
我希望ekhumoro的说明能够正常工作,因为编辑建议使用3个文件 - 请参阅(XXX) - 配置Make以使用_qt5创建库。 我尝试了很多东西 - 符号链接,etcetc。,但在一天结束时,遗漏(XXX)允许一切正常进行。
所以 - 总而言之, *如果您不需要让QScintilla与PyQt4 和 PyQt5 * 同时工作,请执行ekhumoro的建议减去在(XXX)的东西 - 这样,Eric应该没有问题安装。
注意上面的信息:它可能会破坏Qt4的QScintilla libs
答案 2 :(得分:0)
我想最重要的是--pyqt=PyQt5
导致使用sip/qscimod5.sip
代替sip/qscimod4.sip
。区别在于它包含对%Import QtWidgets/QtWidgetsmod.sip
至关重要的行QAbstractScrollArea
。