Unity3d というゲーム エンジンのプラグインである DLL を使用しています。Windows 7 64 ビット Ultimate Edition の Visual C++ Express 2010 で DLL を作成しました。DLL は、最初に作成されたマシン上で正しく機能します。
問題は、DLL が別のマシンの Unity3d エディターで機能せず、基本的に DLL がその依存関係の一部を欠いていることを示すエラーを与えることです。ターゲット マシンが Windows 7 Home 64 ビットを実行している (これが該当する場合)
Dependency Walker のエラー ログの結果:
エラー: "c:\users\dewayne\desktop\shared\vrpnplugin\unityplugin\build\release\OPTITRACKPLUGIN.DLL" の Side-by-Side 構成情報にエラーが含まれています。サイド バイ サイド構成が正しくないため、アプリケーションを開始できませんでした。詳細については、アプリケーション イベント ログを参照するか、コマンド ライン sxstrace.exe ツールを使用してください (14001)。
エラー: 暗黙的に依存するモジュールにエクスポート関数がないため、少なくとも 1 つのモジュールに未解決のインポートがあります。
エラー: CPU タイプが異なるモジュールが見つかりました。
警告: 少なくとも 1 つの遅延読み込み依存モジュールが見つかりませんでした。
警告: 遅延ロード依存モジュールにエクスポート機能がないため、少なくとも 1 つのモジュールに未解決のインポートがあります。
Visual C++ Express 2010 プロジェクトとソリューション ファイルは、ここにあります。zip は 79MB で、依存関係も含まれています。
問題の DLL は OptiTrackPlugin.dll です。