首先,我通过以下步骤安装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

但是我得到了:

最佳答案

主要问题是您要链接到Qt4而不是Qt5。这就是为什么QAbstractScrollAreaQPrinter header 被报告为丢失的原因,以及为什么以后会出现undefined symbol错误的原因。

QScintilla使用功能文件来控制编译时配置,并且需要对其源程序进行修补才能获得Qt5的良好构建。

因此,请先解压缩一组新的资源,然后进行以下更改:

designer-Qt4Qt5/designer.pro :

TARGET = qscintillaplugin_qt5

Qt4Qt5/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

关于linux - 如何在Linux上编译QScintilla和Eric6?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30730288/

10-13 05:39