2016-07-20 6 views
1

QtでプレーンなC++ qmakeプロジェクトをビルドしようとしていますが、ビルドした「ライブラリの追加...」ウィザードを使用して自分のコードで必要なライブラリをリンクしました。私は静的ライブラリを設定しました。私が追加しようとしていているライブラリを追加するときのQtエラー - ターゲットを作成するルールなし

mingw32-make[1]: *** No rule to make target'//icnas1.cc.ic.ac.uk/hd1714/ftk_basic/./libfusionTrack32.a', needed by 'release\ftk_basic.exe'. Stop. 
Makefile:34: recipe for target 'release' failed 
mingw32-make: *** [release] Error 2 

:私は、プロジェクトをビルドしようとすると、このエラーが返され

win32: LIBS += -L$$PWD/./ -lfusionTrack32 

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

win32:!win32-g++: PRE_TARGETDEPS += $$PWD/./fusionTrack32.lib 
else:win32-g++: PRE_TARGETDEPS += $$PWD/./libfusionTrack32.a 

これは、この追加のテキストと私の.PROファイルを変更します32ビットライブラリが64ライブラリにもリンクしようとすると同じエラーが発生します。ライブラリは.libインポートライブラリです。私は現在、同じフォルダにすべてのファイルを持っています。私はWindows 7、minGW 32、g ++を使用しています。

私は.Aファイル(私は望んでいないということ)のための行を削除した場合:

cannot find -lfusionTrack32 
error: ld returned 1 exit status 

どれ:代わりに、私は2つのエラーを取得し、その後

else:win32-g++: PRE_TARGETDEPS += $$PWD/./libfusionTrack32.a 

助けをたくさんいただきました。

+0

ライブラリの名前はlibfusionTrack32.aではありませんか? – perencia

+0

残念なことに@perenciaではなく、libraryはfusionTrack32.libと呼ばれています。私は.aファイルがUNIX用で、.labはWindows用のものと考えています... [ここをクリック](http://stackoverflow.com/questions/2337949)/whats-the-difference-lib-and-a-files) –

+0

私はウィザードでmacとlinuxのボックスのチェックを外した後、なぜこのファイルを.proファイルに組み込むのか混乱してしまいました。 –

答えて

1

私は、.proファイルをウィザードで直接修正することができます。だから、最初の.proのファイルに適用されたすべての変更を元に戻すと、単純に次のコマンドを使用してライブラリを追加してください:これ

# Absolute address of the .lib file 
LIBS += c:/mylib/mylib.lib 

# Absolute address of its header files (if any) 
INCLUDEPATH += c:/mylib/include 

だそれ! more info

+0

Frogatto私はあなたが言ったように、私はいくつかのエラーメッセージ、主に '未定義の参照'といくつかの素敵な 'in function'エラーがあることを知っています。しかし、これらの関数はライブラリにないので、私はあなたがそれを修正したと思う、おめでとう!あなたはそれをしました:)ありがとう –

関連する問題