2016-11-02 17 views
1

Qscintillaをこのtutorialと一緒にQt Projectに追加しようとしています。ライブラリが正常にインストールされているが、クラス(「QsciScintilla :: QsciScintilla(QWidgetの*)」に未定義の参照または例えば「QsciScintilla ::のSetFont(QFontのCONST &)」への未定義参照)に未定義の参照がたくさんあるQtの問題にQscintillaライブラリを追加

これは私の.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/ 

誰かが私を助けてくれることを願っています。

EDIT: -lqscintilla2を追加した後、私はこのエラーを取得する:

Cannot find -lqscintilla2 

答えて

0

あなたの.PROファイルは、この欠落しています。

LIBS += -lqscintilla2 

をこれは、あなたがにリンクチュートリアルでも言及されています...

-Lあなたはライブラリ検索パスにディレクトリを追加するだけで、新しいライブラリは作成されません。追加する。あなたは基本的に-Lだけを持っているわけではありません。なぜなら、実際にはを実行しないからです。を単独で(通常のツールチェインの設定で)実行します。 -lスイッチは、リンクに追加するように実際のライブラリに指示するために使用され、リンカはそれが持つライブラリパスを検索します。だから、あなた自身のディレクトリにライブラリがあるなら、両方のスイッチが必要です。


は、編集後:そして、実際のライブラリファイルが欠落している場合、あなたはあなたが実際にそれを構築していることを確認

  • ことを確認する必要があります。
  • 正しいデバッグ/リリースバージョン、またはおそらく両方をビルドしました。
  • ビルドされたライブラリは、アプリケーション.proファイルにあるものと同じディレクトリにあります。
+0

MMMは、大丈夫、私は-L attributをどのように動作するかを理解するが、私は別のエラーを取得するチュートリアルのような「-lqscintilla2」を追加する場合:「connot -lqscintilla2見つける」 –

+0

さて、その後、あなたが実際に見てする必要がありますlinkコマンドとそれに '-L'で追加されたディレクトリです。これには、 'qscintilla2.dll'または' libqscintilla2.so'(OSに依存します)を含むディレクトリが含まれていますか? – hyde

+0

通常、誰かが答えた後で質問を展開/変更しないでください(回答が無効になるため)。この場合、質問を編集して* .pro *ファイルをこの修正プログラムで更新してください。エラーを出す実際のリンクコマンドを含めてください(現在の回答は唯一のものですが、この場合は気にしません)。 – hyde

関連する問題