首先,我通过以下步骤安装QScintilla:
1:
cd Qt4Qt5
qmake qscintilla.pro
sudo make
make install2:
cd ../designer-Qt4Qt5
qmake designer.pro
sudo make
sudo make install3:
cd ../Python
python3 configure.py --pyqt=PyQt5
sudo make在这里我遇到了一个问题:
QAbstractScrollArea: No such file or directory 和问题:
qprinter.h: No such file or directory但我最终通过手动添加所需的文件来解决这些问题。
继续:
sudo make install4:
然后,通过键入以下命令来安装eric6:
sudo python3 install.py但我得到了:
检查依赖项 Python版本: 3.4.0 发现PyQt5 对不起,请安装QScintilla2及其PyQt5 5/PyQt5 4包装器。 错误:/usr/lib/python3 3/dist-packages/PyQt5 5/qsc.so:未定义符号:_ZTI13QsciScintilla
发布于 2015-06-09 18:17:21
主要问题是,您是针对Qt4而不是Qt5进行链接的。这就是为什么QAbstractScrollArea和QPrinter头被报告为丢失的原因,也是为什么您稍后会得到undefined symbol错误的原因。
QScintilla使用一个特性文件来控制编译时的配置,它的源代码需要修补以获得Qt5的良好构建。
因此,首先解压一组新的源,然后进行以下更改:
designer-Qt4Qt5/designer.pro
TARGET = qscintillaplugin_qt5Qt4Qt5/features/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发布于 2016-06-18 18:59:43
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库。我尝试了很多东西--符号链接等等,但在一天结束时,忽略了(XXX)让一切都正常进行。
总之,*如果您不需要让QScintilla与PyQt4 和Pyt5*同时工作,那么请执行ekhumoro的建议,去掉(XXX)中的内容--那样的话,Eric应该没有问题地安装。
需要注意上面的信息:它可能会击垮Qt4的QScintilla库
发布于 2016-12-25 22:53:54
我想最重要的是--pyqt=PyQt5,它导致使用sip/qscimod5.sip而不是sip/qscimod4.sip。不同之处在于它包含行%Import QtWidgets/QtWidgetsmod.sip,这对于QAbstractScrollArea是必不可少的。
https://stackoverflow.com/questions/30730288
复制相似问题