2012-04-30 14 views
0

私は今この未解決の外部シンボルのエラーで1週間以上立ち往生しています。 TBB lib(とPointGrey libを別の記事で言及してください)と言って、私はライブラリにリンクすることができません(dllまたはlib私はわかりません!)、この種のリンクエラーが発生します。パス環境変数&未解決の外部シンボル

this is a configuration guide from Intel about TBB lib

私はVS2008、win7のを使用しています。このガイドでは、スクリプトファイルを実行するだけで、作成したすべてのプロジェクトが(1)に従って自動的に適切に設定されることを意味します。私はそれを正しくしていますか?

これまでのところ、インテルのオリジナルサンプルプロジェクトは、自分の設定がなくても正常に動作します。クリックするだけです。しかし、私は同じサンプルコードから作成されたプロジェクトで、彼らはリンクエラー

を持って

PS:スクリプトは次のとおりです。LIBファイルとしてリンクされている

+0

私は "Path"環境変数について述べました:VS2008のtools/option/Projects and Solutions/VC++ Directoriesには、ライブラリを追加するためのオプション "Executable files"がありますプロジェクトへ(ここではdllです)。 Win32環境変数 "Path"に追加するのではなく、これを使用したいと思います。これは可能ですか? –

答えて

0

いくつかのライブラリ\> VS < tbbvars.bat \アーチ> \ < \時にはプロジェクトにこれらの依存関係を伝える必要があります。表示されるヘルプは、プロジェクト - >プロパティ - >リンカ - >入力 - >追加の依存関係に進み、tbb_debug.libまたはtbb.libを追加するように指示します(デバッグモードでビルドする場合は_debugバージョンを使用し、リリース) - x64ビルドにはおそらく2つのバージョンがあるので、各ビルドバージョンでこれを行う必要があります。
次に、「プロジェクト」 - >「プロパティー」 - >「リンカー」 - >「入力」 - >「一般」 - >「追加ライブラリー・ディレクトリー」で、ライブラリー・ディレクトリーを追加します。 (再び、32/64ビットの別々のディレクトリ)。
もちろん、$(TBBROOT)\ includeを追加するVC/C++ Properties - > General - > Include Directoriesもあります。
インテルのサンプルプロジェクトのプロジェクトプロパティを確認します。
スクリプトを実行すると、実行可能ファイルにdllが含まれるようになると、それらはリンカーによって(実行中および/または実行中に)検出されます。もっと重要なのは、Env Var TBBROOTを作成します。これは、プロパティに追加するもので参照されます。その変数がない場合は、絶対パスを追加する必要があります。
あなたのコメントのオプションは、はい、あなたは余分なEnv Var(またはPATHへのより多くのパス)を追加するのではなく、別の場所でライブラリを探すようVSに指示できます。考慮すべき唯一のものは、実行のためにいくつかのDLLが必要かどうかです。その場合は、ビルド後にEXEと同じフォルダにコピーし、インクルードに絶対パスを使用することができます。また、少し移植性が低いです...

+0

ありがとう!私は来週これをチェックし、フィードバックを与えます。今のところ、私がしていることは、既に設定され、適切にコンパイルされているサンプルプロジェクトをコピーし、私が望むコードでフィードすることです。とにかくまだ動作します! –

+0

あなたの非常に明確な答えをありがとう!特に、env var PATHに関する私の質問に当てはまります。私はプロジェクトを再構成しようとしました。今、コンパイル/リンクエラーは存在しません。ただし、実行時エラーが発生します。おそらく私は間違ったlibを使用しましたもう少しお試しください。 –

+0

@Son:私は助けてくれてうれしいです。あなたがそれがそうだったと思えば、私の答えを役に立つとマークすることも自由です。 – Thalia

関連する問題