質問:DLLが実際に正しくインストールされ、他のアプリケーションがDLLを正常に使用すると、なぜアプリケーションがDLL「boost_thread-vc100-mt-1_46_1.dll」を見つけられないでしょうか?なぜアプリケーションはDLL "boost_thread-vc100-mt-1_46_1.dll"を見つけられないでしょうか?
問題:アプリケーションのインスタンスを起動するときに、次のエラーメッセージが表示されます。 "boost_thread-vc100-mt-1_46_1.dllがコンピュータに存在しないため、プログラムを開始できません。この問題を修正するプログラムを再インストールしてみてください「このメッセージは私を混乱させる理由
いくつかの理由:\プログラムファイル(x86の)\ブースト\ boost_1_46_1 \ libに:
- のdll はCで存在があります同様の設定で
- 別のプロジェクトが正常に実行され、成功し
- 私が後押し::スレッドオブジェクトを自分のアプリケーションから作成したコードを削除すると、エラー メッセージが表示されない ブースト::スレッドオブジェクトを作成しません。
その他の詳細: CLRを有効にしたMS VS 2010を使用してC++/CLIアプリケーションを開発しています。
私はBoost Threadライブラリ(バージョン1.46.1)を使用しています。
ブーストスレッドおよびC++/CLIの使用方法についての記事へのアドバイスの後、私は私のヘッダファイルの1に次のコードを追加しました:
#if defined(_MANAGED)
#define BOOST_USE_WINDOWS_H
#endif
#define BOOST_THREAD_USE_DLL
#include "boost/thread.hpp"
namespace boost {
struct thread::dummy {};
}
#pragma warning(push)
#pragma warning(disable:4793)
#include "boost/thread/mutex.hpp"
#pragma warning(pop)
#include "boost/thread/locks.hpp"
を、私はあなたが持つかもしれないアドバイスを感謝しています。ありがとうございました。