2016-08-16 20 views
0

私はQTプロジェクトで書いたライブラリを追加しようとしています。ライブラリをプロジェクトにインポートし、ヘッダファイルをインクルードしました。しかし、私がライブラリ内のクラスを参照するプロジェクトを構築しようとすると、LNK2001: unresolved external symbol error私はまだQTに新しいですし、私が作った間違いに単純な修正があると確信していますが、それ以外の場所ではそれを見つけることができません。QTライブラリを別のQTプロジェクトに組み込む

.PROファイル:

QT  += core gui 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = SL-Reporter 
TEMPLATE = app 

SOURCES += main.cpp\ 
     SLReportMainWindow.cpp \ 
    ProjectEditorWindow.cpp \ 
    OptionsWindow.cpp \ 
    FileManager.cpp \ 
    Project.cpp 

HEADERS += SLReportMainWindow.h \ 
    ProjectEditorWindow.h \ 
    OptionsWindow.h \ 
    FileManager.h \ 
    Project.h \ 
    CPPRTF/ColorOutOfRangeException.h \ 
    CPPRTF/cpprtf_global.h \ 
    CPPRTF/Exception.h \ 
    CPPRTF/InvalidFontException.h \ 
    CPPRTF/RTFColor.h \ 
    CPPRTF/RTFDocument.h \ 
    CPPRTF/RTFFont.h \ 
    CPPRTF/RTFObject.h \ 
    CPPRTF/RTFTextElement.h 

FORMS += SLReportMainWindow.ui \ 
    ProjectEditorWindow.ui \ 
    OptionsWindow.ui 

DISTFILES += \ 
    ../SL-Compare/SLCompare \ 
    CPPRTF/CPPRTF.lib \ 
    CPPRTF/CPPRTFd.lib \ 
    CPPRTF/CPPRTF.dll 

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../CPPRTF/build-CPPRTF-Desktop_Qt_5_7_0_MSVC2015_64bit-Debug/release/ -lCPPRTF 
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../CPPRTF/build-CPPRTF-Desktop_Qt_5_7_0_MSVC2015_64bit-Debug/debug/ -lCPPRTF 
else:unix: LIBS += -L$$PWD/../CPPRTF/build-CPPRTF-Desktop_Qt_5_7_0_MSVC2015_64bit-Debug/ -lCPPRTF 

INCLUDEPATH += $$PWD/../CPPRTF/CPPRTF 
DEPENDPATH += $$PWD/../CPPRTF/CPPRTF 

答えて

0

-L$$PWD/../CPPRTF/だけCPPRTF/は異なる場所を指しているようです。そのディレクトリを作成した場所(現在のプロジェクトの.proファイル)または現在のディレクトリから1つ上のレベルを確認しますか?

# simpler case 
LIBS += -lMyLib 

そして、あなたがパスを指定することができます:

は、ファイルをプロジェクトに追加

# adding many paths/libs 
LIBS += -LAbsolutePath \ 
     -L$$PWD/CurDirRelativePath \ 
     -lMyLib1 \ 
     -lMyLib2 \ 

そしてDISTFILES変数を持っている必要がいないようだ* .libファイルが追加されました。 Linux/MacOSでは* .so、Windowsでは* .dllのみが通常DISTFILESに追加されます。

マニュアルAdding Libraries to projects

0

Qt Creatorアシスタントを使用できます。プロジェクトを右クリックして、ライブラリを追加...を選択します。その外部ライブラリ

し、次のライブラリファイルへがあなたのの.dllの.soは.dylibを追加するには、ブラウザをyouse ...

ちょうどあなたのOSを選択してくださいをクリックしてください。をクリックすると、アシスタントがすべてあなたのために行います。

+0

これはライブラリを追加した方法ですが、ビルドするとライブラリ内のクラスや関数を認識できません。 :( –

関連する問題