2016-06-01 7 views
0

私はVS2010でAPIを呼び出すための外部ソフトウェアを埋め込もうとしています。私は、VSプロジェクト - >プロパティ - > C \ C++ - >一般 - >追加インクルードディレクトリとプロパティ - >リンカ - >一般 - >追加ライブラリディレクトリに外部ソフトウェアのlibとインクルードパスを含めました。私はさらに、Properties-> Linker-> Input-> Additional Dependenciesにlibファイル名を含めました。プロジェクトを実行すると、dll(libが含まれています)のいずれかがマシンに存在しないというエラーが表示されます。 VSプロジェクトの実行時パスに同じdllをコピーすると、プロジェクトは正常に動作しますが、外部プロジェクトとの関連付けは失敗します。私がここに投稿した以外の解決策をお勧めしますか?ありがとうございました。VS2010プロジェクトで外部DLLが見つかりません

答えて

0

includeパスと指定された追加ライブラリは、プログラムをビルドするためにコンパイラ/リンカーによってのみ使用されます。ダイナミックリンクを使用しているように見えるので、プログラムはまだそれらのライブラリを必要としますが、どこでそれらを見つけるか分かりません。

プログラムを実行しようとすると、ウィンドウはそれらのライブラリを読み込もうとします。これらのウィンドウが探す場所は、hereと記載されています。

  1. 現在のプロセスの実行可能モジュールがあるディレクトリ。

  2. 現在のディレクトリ。

  3. Windowsのシステムディレクトリ。 GetSystemDirectory関数は、このディレクトリのパスを取得します。

  4. Windowsディレクトリ。 GetWindowsDirectory関数は、このディレクトリのパスを取得します。

  5. PATH環境変数にリストされているディレクトリ。あなたが1つのフォルダにexeファイルと一緒にすべてのDLLを配置したとき、それはあなたのために働いた理由

あなたはそれが最初にあなたがプログラムを実行する場所からフォルダを検索し見ることができるように、これはあります。

これを避けたい場合は、dllが見つかる場所をPATH環境変数(推奨)に追加するか、windows/system32フォルダにすべてコピーします。これは別の場所のウィンドウがdllを探すためです。

+0

私はPATHにdllのパスを追加しましたが、Warloxxはうまく機能しました。ありがとうございました。 – Bhavani

関連する問題