2015-06-09 9 views
5

सबसे पहले मैं निम्न चरणों के द्वारा QScintilla स्थापित:मैं लिनक्स पर क्यूसिंटिला और एरिक 6 कैसे संकलित करूं?

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 

लेकिन मुझे मिल गया:

Checking dependencies

Python Version: 3.4.0

Found PyQt5

Sorry, please install QScintilla2 and its PyQt5/PyQt4 wrapper.

Error: /usr/lib/python3/dist-packages/PyQt5/Qsci.so: undefined symbol: _ZTI13QsciScintilla

उत्तर

3

मुख्य समस्या यह है कि आप क्यूटी 4 आरए के खिलाफ जुड़ रहे हैं Qt5 से भी कम है। यही कारण है कि QAbstractScrollArea और QPrinter शीर्षलेखों को गायब होने की सूचना दी जाती है, और बाद में आपको undefined symbol त्रुटि क्यों मिलती है।

क्यूएससिंटिला संकलन-समय कॉन्फ़िगरेशन को नियंत्रित करने के लिए एक विशेष फ़ाइल का उपयोग करता है, और इसके स्रोतों को 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 libs मिलें।

किया कि साथ

, (सामान्य उपयोगकर्ता के रूप) का निर्माण करने के निम्नलिखित कदम उठाएँ:

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 

सफल होने पर, आप तो सब कुछ स्थापित कर सकते हैं (रूट के रूप में):

cd 'path/to/src/Qt4Qt5' 
make install 

cd '../designer-Qt4Qt5' 
make install 

cd '../Python' 
make install 
+0

अंततः मैंने समस्या हल की लेकिन इसके बाद और समस्याएं आ गईं। मैं Qt5.4.1 के तहत/opt इंस्टॉल करता हूं, लेकिन 'PyQt5 आयात QtCore से; प्रिंट (QtCore.QT_VERSION_STR)' संस्करण 5.2.1 है, क्या आप मुझे बता सकते हैं कि पायथन को संस्करण/ऑप्ट फ़ाइल के तहत संस्करण का उपयोग कैसे करें? – Zieng

+0

@ ज़ीएंग। मेरे उत्तर में टिप्पणी देखें: "सुनिश्चित करें कि आप सही qmake का उपयोग करें!"। संकलन करते समय आपको '/ opt' के तहत स्थापित qmake का पूरा पथ निर्दिष्ट करना होगा। – ekhumoro

+0

अब मेरी समस्या यह है कि मैं सही QtSql.so नहीं बना सकता। मुझे लगता है कि यह QScintilla2 के साथ कुछ लेना देना नहीं है क्योंकि जब मैंने एरिक 6 स्थापित किया था, तो उसने कहा कि "QScintilla2 मिला", और यह qmake संस्करण के साथ कुछ भी नहीं है क्योंकि जब मैं PyQt5 बनाता हूं या Qt5 स्थापित करता हूं तो मैंने qmake का भी उपयोग नहीं किया। तो, मैं जो हल करने जा रहा हूं वह यह पता लगाता है कि सही QtSql.so। @ Ekhumoro – Zieng

0

ekhumoro's solution above किया मेरे लिए काफी काम नहीं है - चलो बस कहें कि शायद मुझे कुछ याद आया, या यह पर्यावरण-विशिष्ट चीज है।

वैसे भी .... मैं ekhumoro क्या सलाह दी किया को छोड़कर इन तीन फ़ाइलों को संपादित नहीं किया : (XXX)

- designer-Qt4Qt5/designer.pro 
- Qt4Qt5/features/qscintilla2.prf 
- Qt4Qt5/qscintilla.pro 

संपादन उन्हें ध्वनि लगता है के लिए कारण है, लेकिन के अंत में दिन एरिक स्थापित के साथ विफल:

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 ^^^^ के साथ चिह्नित - सैद्धांतिक रूप से यह है कि समाधान हो जाना चाहिए, लेकिन मेरे लिए ऐसा नहीं किया। मैंने सभी प्रकार की चीजों का कोई फायदा नहीं लिया। कुछ सेटिंग की मेरी अज्ञान हो सकती है।

मुझे उम्मीद है कि काम करने के लिए एखुमोरो के निर्देशों की उम्मीद है, क्योंकि 3 फाइलों के लिए सुझाए गए संपादन - देखें (XXX) - कॉन्फ़िगर करें _qt5 के साथ लाइब्रेरी बनाने के लिए बनाएं। मैंने कई चीजों की कोशिश की - सिम्लिंक, इत्यादि। लेकिन दिन के अंत में, बाहर निकलने (XXX) ने सब कुछ ठीक से आगे बढ़ने की अनुमति दी।

तो - सारांश में, * यदि आप QScintilla PyQt4 और PyQt5 * साथ एक साथ काम करने के लिए, ekhumoro की सलाह शून्य (XXX) पर चीजें करते की जरूरत नहीं है, तो - इस तरह से, एरिक समस्याओं के बिना स्थापित करना चाहिए ।

उपरोक्त जानकारी के साथ

लें देखभाल: यह शायद क्यूटी 4

0

के लिए QScintilla libs पीटना होगा मुझे लगता है कि सबसे महत्वपूर्ण --pyqt=PyQt5 जो sip/qscimod5.sip बजाय sip/qscimod4.sip का उपयोग कर की ओर जाता है है। अंतर यह है कि इसमें %Import QtWidgets/QtWidgetsmod.sip लाइन है जो QAbstractScrollArea के लिए आवश्यक है।

संबंधित मुद्दे