2016-11-02 6 views
1

Qscintillatutorial과 함께 Qt Project에 추가하려고합니다. 이 라이브러리는 성공적으로 설치되어 있지만 클래스에 정의되지 않은 참조의 많은Qt 문제에 Qscintilla 라이브러리 추가

(정의되지 않은 참조 'QsciScintilla :: QsciScintilla (는 QWidget *)'또는 정의되지 않은 참조 예를 들어 'QsciScintilla ::의 setFont (QFont의 CONST &)'에)가있다 이 파일은 내 .pro 파일입니다.

QT  += core gui 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = QscintillaTest 
TEMPLATE = app 


SOURCES += main.cpp\ 
    mainwindow.cpp 

HEADERS += mainwindow.h 

FORMS += mainwindow.ui 

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/./QScintilla/Qt4Qt5/release/ -lqscintilla2 
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/./QScintilla/Qt4Qt5/debug/ -lqscintilla2 
else:unix: LIBS += -L$$PWD/./QScintilla/Qt4Qt5/ -lqscintilla2 
INCLUDEPATH += $$PWD/./QScintilla/Qt4Qt5/ 
DEPENDPATH += $$PWD/./QScintilla/Qt4Qt5/ 

누군가가 도와 주길 바랍니다.

편집 :

Cannot find -lqscintilla2 

답변

0

하는 것은 귀하의 .PRO 파일이 누락되었습니다 :이 오류 얻을 -lqscintilla2를 추가 한 후

LIBS += -lqscintilla2 

이것은 당신이에 링크 된 튜토리얼도 언급을 ...

-L 이제 라이브러리 검색 경로에 디렉토리를 추가하기 만하면 새 라이브러리가 생성되지 않습니다. t 추가 될 수 있습니다. 기본적으로 -L 만 있으면 안됩니다. 왜냐하면 실제로는 을 수행하지 않기 때문에 만하면됩니다 (일반 툴 체인 설정에서). -l 스위치는 링크에 추가하도록 실제 라이브러리에 지시하고 링커가 가지고있는 라이브러리 경로를 검색하는 데 사용됩니다. 따라서 라이브러리가 자체 디렉토리에 있으면 두 스위치가 모두 필요합니다.


편집 후 : 그럼 실제 라이브러리 파일이없는 경우, 당신은 당신이 실제로 그것을 구축해야합니다

  • 있는지 확인해야한다.
  • 올바른 디버그/릴리스 버전 또는 두 가지 모두를 구축했습니다.
  • 빌드 된 라이브러리는 응용 프로그램에있는 것과 일치하는 예상 디렉토리에 있습니다. .pro 파일.
+0

음, 그래, 이해가 어떻게 작업 -L의 attribut하지만 튜토리얼처럼 '-lqscintilla2'추가 할 때 나는 다른 오류 얻을 : 그럼, 당신은 실제 볼 필요가 –

+0

'connot -lqscintilla2 찾기' link 명령과'-L'을 사용하여 추가 된 디렉토리가 있습니다. 여기에는'qscintilla2.dll' 또는'libqscintilla2.so' (OS에 따라 다름)가 들어있는 디렉토리가 포함되어 있습니까? – hyde

+0

일반적으로 다른 사람이 응답 한 후에 질문을 확장/변경하면 안되지만 (이 경우 대답이 무효화되기 때문에)이 경우에는 언제든지 * .pro * 파일을 수정하여 질문을 편집하고 그런 다음 오류를 제공하는 실제 링크 명령을 포함하십시오 (현재 유일한 대답은 광산입니다.이 경우 마음에 들지 않습니다). – hyde