2011-07-31 5 views
1

が、私はエラーを取得する見つけることができません。奇妙なことは、確かにそこにあるということです。私はEclipseとMingWとの組み合わせでcmakeを使ってビルドします。他のすべてのライブラリは完全にうまく動作します(同じように設定されています)。MinGWのは:私のプログラムを構築するときに</p> <blockquote> <p>が-lpthreadGC2</p> </blockquote> <p>を見つけることができません-lpthreadGC2

cmakeを使用すると、メッセージを使用してメッセージを送信できます。すべてのインクルードパスとlib pathesがmessage()で正しく設定されていることを確認しました。私はEclipseのプロジェクト設定でこれを確認することができます。パスは設定されています(pthreads.hは完璧に動作しますが、これが見つかります)。 コマンドtarget_link_libraries(MyApp "libpthreadGC2.a")も実行されます(message()で再度チェックされます)。

要約:すべてのpathesが設定され、すべてのリンクはcmakeに命じられます。 Eclipseはすべてのパスを知っています。しかし、MingWリンカーはライブラリを見つけることができません。エラーを探すべきアイデアは何ですか?

+0

私は、タイプミスやスペルミスのためにすべてをダブルチェック、トリプルチェックしたと思いますか?通常は、target_link_librariesへの引数として、ライブラリファイル(/path/to/libpthreadGC2.a)やCMakeのターゲット名(ビルドしているターゲットのみ)の絶対パス名を使用します。 target_link_libraries呼び出しでlibのフルパス名を使用しようとしましたか? – DLRdave

+0

はい、ディレクトリ名を直接コピー・ペーストしようとしました。すべての出現と呼び出しはcmakeメッセージ()でチェックされます。私はコマンドを逃してしまった場合のために、他のすべてのlibsと比較しました。いいえ、それはすべてです。 lib自体(.aファイル)がフォルダにあります。 私が調べることができる他の場所は何か手がかりがありません。 – blubberbernd

答えて

2

ああ、ちょうど

cmakeのコマンドadd_executable()link_directories()呼び出しの後を来て持っている...それを見つけた...しかし、これが唯一のためではないのpthreads LIBのためだったと、なぜ私はまだ、疑問に思います他のもの...

+0

他のすべてがlink_directories呼び出しで指定する必要のない場所にあるのでしょうか? link_directoriesへの呼び出しを使用する代わりに、target_link_librariesのライブラリへのフルパスを使用する場合、これはちょうどうまくいったはずです。 – DLRdave

関連する問題

 関連する問題