プロジェクト用のライブラリを作成しようとしています。(Qt5、Qt Creator、VS2010 コンパイラ)
どのように機能するかを確認するために、最小限のテストサンプルから始めました。
1-メソッドを持つクラスを含むライブラリを作成しました
2-コンパイルしてDllとLibファイルを取得
3-メインアプリケーションで、このライブラリとそのパスを.proとテスト済みライブラリに正常に追加します。
今、私は DLL を取り除き、lib ファイルをスタティック ライブラリとして使用したいと考えています。
だから私は私のライブラリ.proファイルにこの行を追加しました
CONFIG+=staticlib
今、私はコンパイル後にlibファイルを取得しますが、プロジェクトで使用できず、未解決の外部シンボル...エラーが発生します
CONFIG+=staticlib を削除すると、再び機能します! しかし、静的ではありません。
これらは、ライブラリをロード/リンクするためにメインプロジェクトの.proファイルに追加した行です
INCLUDEPATH +="G:/TestLib/testLib"
LIBS +=-l"G:/Build/debug/testLib"
問題は、Qt (非商用ライセンス) で独自の静的ライブラリを使用することは可能ですか?
はいの場合、私のアプローチの何が問題になっていますか?
静的ライブラリを指定するには、LIBS+=... で何かを変更する必要がありますか?
この記事を読みましたが、コードに問題はないようです。
何か助けてください。
EDIT : 問題解決
問題は、静的ライブラリに Q_DECL_EXPORT と Q_DECL_IMPORT が必要ないことでした! その大ざっぱな幻想的な記事では明示的に言及されていません。