0

マネージ dll を呼び出すマネージ exe があります。どちらも c で記述され、vs2010 c++ を使用してコンパイルされています。

プログラムを実行すると、コンピューターに dll が見つからないため、プログラムを開始できないというエラーが表示されます。リンカーで、[リンカー] -> [入力] -> [追加の依存関係] の下に、dll ライブラリを含むフォルダーを追加しました。また、Linker->General セクションで、Additional include libraries の下にフォルダーをリストしました。

私は無知です...

4

1 に答える 1

1

問題は、.exe が実行されていた場所と同じディレクトリに dll がなかったことです。ただし、毎回手動で dll をコピーする必要はなく、他の .exe によって使用されていたので、より良い解決策はビルド後のイベントを追加することでした。

もう 1 つ重要な注意事項: 悪い質問をしたことで別の -1 を付けられるのを恐れて、このようなビルド後のコピーを作成するために必要な魔法のポーション/呪文を考えるのに数時間を費やしました。ここにあります。マクロ、/Y、および特に各パス名の混乱全体を囲む引用符の使用に注意してください。

xcopy /Y "$(SolutionDir)x64\Release\mcDll.dll" "$(SolutionDir)stream\x64\Release"
于 2012-05-08T18:31:31.797 に答える