- ベストアンサー
64bitで作ったdll32bit動かない
windows 7 64bitでvisual c++ 2010を使ってdllを作っつ動作できたのですが Windows 7 32bitではできませんでした。 プラットフォームもデフォルトのままで何も弄ってません 何が間違ってあるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
プラットフォームがx86のDLLが含まれている関係でx86コンパイルをしなければ 実行できない環境にあるのではないでしょうか。 Step 9. ライブラリアプリケーションにおけるコンパイルスイッチの意味 http://blogs.msdn.com/b/nakama/archive/2008/11/06/part-2-net-framework-2-0-64.aspx?Redirected=true x86環境での実行のみに限定するなら、プラットフォームをx86でコンパイルして あげれば動作します。 いずれの環境でも動作させたい場合、以下のいずれかを対応する必要があります。 ・AnyCPUでコンパイルされたDLLのみを利用するように変更する。 ・x86コンパイル、x64コンパイルの2種類を用意する。 余計なトラブルを避けたいなら、後者を選択するのが最も単純かつ効率的です。
その他の回答 (1)
- maiko0318
- ベストアンサー率21% (1483/6969)
回答No.1
64ビットマシンは32,64ビットのプログラムが動きますが、 32ビットマシンは32ビットのプログラムしか動きません。 32ビットでコンパイルしてください。
質問者
補足
>64ビットマシンは32,64ビットのプログラムが動きます 自分は64ビットマシンを使っています
補足
丁寧な説明ありがとうございます。 visual c++ 2010プラットフォームでwin32が多分x86コンパイルだと思います。出来ればAnyCPUにしたいのですが、何故かAnyCPUがなく、あるのはx64,win32,ARMのみなのですよ。