0

VS2010 で自分のプログラムを実行するために、一日中試しました。出力exeと同じフォルダーにコピーして貼り付ける場合にのみ、プログラムにDLLを見つけることができます。

Linker > Generalの下に含める必要がある DLL を含むフォルダーをリストしました。しかし、プログラムを実行すると、次のようなエラーが表示されます。

「コンピューターに tbb_debug.dll が見つからないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてください。」

何がうまくいかないのですか?VS2010 DLL バイナリを含む 2 つのパッケージを含めようとしています。TBB (Intel パッケージ) と Open-CV (DLL と LIB ファイルの両方が付属しています)。TBB パッケージには vs2010 lib ファイルが付属していませんが、lib ファイルについては、リンカー入力としても設定しています。

「C:\opencv\build\common\tbb\ia32\vc10」のように、リンカー設定にフル パスを入力しています。各フォルダーには DLL ファイルが含まれています。

4

1 に答える 1

0

リンカーは、.lib ファイルのみを検索します。これは、実行可能ファイルを dll 内の関数のアドレスに「ポイント」します。実行可能ファイルが DLL を見つける場所とは関係ありません。

exe のディレクトリに DLL を配置する必要があります。これがデフォルトの検索パスであり、最も簡単な解決策です。

サイド バイ サイド構成が必要な異なるバージョンの DLL がインストールされている場合は、少し複雑になります。次に、dll を探す場所を exe に指示するマニフェストが必要です。次に、dll を Windows SxS キャッシュに渡します。

于 2012-09-23T06:44:18.340 に答える