サードパーティの Windows アプリケーション用の C++ プラグイン DLL を作成しています。プラグイン DLL はファイル システムのどこにでも置くことができ、サードパーティ アプリからロードするときにその場所を指定します。
DLL の機能の一部では、サードパーティ ライブラリ ( ZeroMQ ) を使用する必要があります。DLL を ZeroMQ ライブラリにリンクすると、正しくビルドされました。ただし、サードパーティのアプリに DLL をロードすると、The specified module could not be found.
エラーが発生し続けました。最初は、zeromq DLL が必要かどうかにかかわらず、ZeroMQ 静的ライブラリを使用したかどうかは明確ではありませんでした (しかし、明らかに、DLL へのアクセスをラップする静的ライブラリを使用するのが一般的です: Visual Studio 2010 C++ で .dll を使用する))。
ゼロ mq dll (私の場合は libzmq-v100-mt-gd-3_2_2.dll) をプラグイン DLL と同じフォルダーに入れてみましたが、うまくいきませんでした。
最後に、完全な実験により、zeromq dll をメインのサードパーティ アプリケーションと同じフォルダーに直接配置できることがわかり、プラグインが機能するようになりました。ただし、理想的には、そうしない方がよいでしょう。zeromq dll ライブラリをプラグイン DLL と同じフォルダに配置する方法はありますか? もしそうなら、どのように?DLL をビルドするときの Visual Studio の設定オプションでしょうか。