• ベストアンサー

64bitで作ったdll32bit動かない

windows 7 64bitでvisual c++ 2010を使ってdllを作っつ動作できたのですが Windows 7 32bitではできませんでした。 プラットフォームもデフォルトのままで何も弄ってません 何が間違ってあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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種類を用意する。 余計なトラブルを避けたいなら、後者を選択するのが最も単純かつ効率的です。

hsjjbkqsj
質問者

補足

丁寧な説明ありがとうございます。 visual c++ 2010プラットフォームでwin32が多分x86コンパイルだと思います。出来ればAnyCPUにしたいのですが、何故かAnyCPUがなく、あるのはx64,win32,ARMのみなのですよ。

その他の回答 (1)

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

64ビットマシンは32,64ビットのプログラムが動きますが、 32ビットマシンは32ビットのプログラムしか動きません。 32ビットでコンパイルしてください。

hsjjbkqsj
質問者

補足

>64ビットマシンは32,64ビットのプログラムが動きます 自分は64ビットマシンを使っています

関連するQ&A