VISTA64bit,VS2005/C++で対象コンピュータを「x64」に設定してビルドするとエラーが発生する
- VISTA64bit,VS2005/C++で対象コンピュータを「x64」に設定して簡単なプログラムをビルドすると、モジュールのコンピュータの種類 'X86' は対象コンピュータの種類 'x64' と競合してしまい、ビルドエラーが発生します。
- OSとCPUはどちらも64bitに対応しているのに、なぜモジュールのコンピュータは32bitでビルドされてしまうのでしょうか?解決方法はありますか?
- なお、VS2005は通常の「Program files」のフォルダではなく、「Program Files(x86)」にインストールされることにも気になる点があります。
- ベストアンサー
VISTA64bit,VS2005/C++で対象コンピュータを「x64
VISTA64bit,VS2005/C++で対象コンピュータを「x64」にして簡単なプログラムをビルドすると以下のエラーが出てしまいます。 「1>.\Debug\stdafx.obj : fatal error LNK1112: モジュールのコンピュータの種類 'X86' は対象コンピュータの種類 'x64' と競合しています。」 OS :VISTA Ultimate64bit CPU :Xeon5080(64bit), 開発環境:VS2005 Team Edition for software developers完全インストール ◎OSもCPUも64bit対応なのに何故かモジュールのコンピュータは32bitでビルドしてしまいます。解決方法はありますでしょうか? 追記:気になることは、VS2005が普通の「Program files」のフォルダではなく「Program Files(x86)」に強制的にインストールしてしまうことです。
- NEW2010
- お礼率100% (113/113)
- C・C++・C#
- 回答数3
- ありがとう数6
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ちょっと見にくいですが、 http://www.itmedia.co.jp/enterprise/articles/0506/15/news006.html の「Fig.4 Visual Studio 2005β版セットアップ画面」 にある「x64コンパイラおよびツール」をチェックONにしてインストール していますか? (この画面はβ版なので、製品版と若干違うかもしれません。) 例え64ビット環境にインストールしたとしても、 VisualStudio2005は、32ビットアプリケーションです。 なので「Program Files(x86)」にインストールされるのは正常です。 それでも64ビットアプリの開発ができるのは、クロスコンパイル環境になっているからです。 上記のチェックボックスもデフォルトはOFFだったと思います。
その他の回答 (2)
- hidebun
- ベストアンサー率50% (92/181)
お礼
再度早速のご回答ありがとうございます! HPを拝見させて頂きました。推測ですが,問題解決の糸口に なりそうです。 上記の様な曖昧な返答になるのは以下の問題が発生した為です。 ◎「構成マネージャ」で「64bit対応プラットフォーム」が 現れない。 現在インストールされている開発環境VS2005team systemであれば, 64bit対応プラットフォームは当然インストールされていますので, この様な問題が発生する筈はないのです。実際に,C++ではなく, C#でプログラムを構築すると「構成マネージャ」で「x64」が現れ, CPU64bitアーキテクチャを利用することができるのです。 つまり,問題はVISTAがVS2005のC++に対し,64bitを認識していない 所に在る様です。 hidebun殿,本当に色々とご対応頂き感謝しております。問題が 完全に解決した訳ではありませんが,今後の方針が明確になりましたので, ご支援の件,お礼を申し上げます。 また,何か分かりましたら是非ご回答頂けると幸いです。
- hidebun
- ベストアンサー率50% (92/181)
お礼
早速のご回答ありがとうございます! 頂いたHPを参考に検討をしました。 そこで,誠に恐縮なのですが,どうやら当方の質問の書き方が不完全であったようで, 検討の結果,問題解決には至りませんでした。 ◎当方の問題は,"「x64」のPCである筈なのにモジュールのコンピュータが「x86」と 誤認識してしまい,「x64」のプログラムをビルドできない",ことです。 頂いたHPは,真逆の内容でした。"「x64」のPCで,モジュールのコンピュータも「x64」と 正常認識し,敢えて「x86」のプログラムをビルドする",というものですね。 この内容でお困りの方も沢山いらっしゃると思います。非常に有益な情報と理解しております。 是非,今後ともご回答頂けるよう,よろしくお願い致します。
関連するQ&A
- 'X86' は対象コンピュータの種類 'x64' と競合しています
visualStudio2005でx64用のモジュールを作成したいと思っています。 環境はXPの32bitで、行っているのですが、下記のようなメッセージが出て解決できません。 「'X86' は対象コンピュータの種類 'x64' と競合しています」 何か方法はないでしょうか???
- 締切済み
- その他(プログラミング・開発)
- Vista64bitとVS2005における、MsScriptのCLSI
Vista64bitとVS2005における、MsScriptのCLSIDの違いについて。 【動作環境】 ・Windows Vista 64bit ・VS2005 sp2 ・IIS7 ・Oracle 11g 以上の環境で、.NETの自社パッケージソフトの運用テストを行っています(32bit→64bitへの移行対策です) その中で、「MsScriptControl.ScriptControl」という参照設定を行っているのですが、ビルドは成功するのに、実際にWEBで運用するとこのdllを使用する際に参照エラーになってしまいます。 調べてみた所、レジストリ内で 「MsScriptControl.ScriptControl」のCLSIDは「0E59F1D5-…」なのに対し、実際に「C:\Program Files\Microsoft Script Control\msscript.ocx」が入っている場所のTypeLibのCLSIDは、「0E59F1D2-…」となっており、一文字だけ違っています。 このためだと思うのですが、WEBを実行中にMsScriptを呼び出そうとすると、 エラーが起きました(CLSID {0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC} を含むコンポーネントの COM クラス ファクトリを取得中に、次のエラーが発生しました: 80040154。) というエラーが起きてしまいます。 何故、同じファイルを参照しているはずなのにCLSIDがレジストリ内で違ってしまっているのか、調べているのですが情報が少なくて行き詰っております。 VS2005のコンパイル自体はAny CPUで行っておりますので、MsScript自体が32bitであることは問題ありません。 どうか、ご助力いただけたらと思います。 どうぞ、よろしくお願いします。
- 締切済み
- Windows Vista
- Win7 64bit のPCが'X86'と誤認識?
Win7 64bit VC++ 2010 Express で、 fatal error LNK1112: モジュールのコンピューターの種類 'x64' は対象コンピューターの種類 'X86' と競合しています。 というエラーが出てコンパイルが最後まで行きません。 もちろんライブラリはすべて 64ビット版 を指定したつもりです。 エラーメッセージから見ると、対象コンピュータが32ビットとリンカーに誤認識されているようなのですが、誤解が解ければ解決する気がしています。 が、その修正のやり方がわかりません。
- ベストアンサー
- C・C++・C#
- fatal error LNK1112
ビルドをすると以下のようなエラーがでてきてしまいます。 「fatal error LNK1112: モジュールのコンピュータの種類 'X86' は対象コンピュータの種類 'x64' と競合しています。」 いろいろ検索してみたのですが、解決方法がわかりません。 因みに、64bitでコンパイルしたいです。 力になってもらえるとうれしいです、よろしくお願いします。 既に試した方法を書きます。 1.ttp://triple-tiara.blog.ocn.ne.jp/memo/2010/03/visualstudio200.html に書かれている、「vcvarsamd64.bat」を叩いてビルド。 残念ながら効果なしでした。 2.様々な所に書かれている「対象コンピュータを MachineX86 (/MACHINE:X86) に変更」。 「fatal error LNK1112: モジュールのコンピュータの種類 'x64' は対象コンピュータの種類 'X86' と競合しています。」 と、新しいエラーがでてきます。 どちらのエラーも出るということは、32bitと64bitの両方を持っているのかな・・・ 【環境】下記の通りです Windows7 64bit Microsoft Visual Studio 2008 言語は「C++」と「CUDA」
- 締切済み
- C・C++・C#
- Windows Vista 64bitで32bitのプログラムをProgram Filesにインストールする
Windows Vista 64bit版を使っていますが、32bitのプログラムをProgram Files (x86)でなくてProgram Filesにインストールしても問題はないのでしょうか?
- ベストアンサー
- Windows Vista
- 64bit環境で32bitでコンパイルするオプションはあるのでしょうか?
WindowsXP x64の環境でVC++2005でコンパイルすると64bitを生成しますが、リンクするモジュールが32bitなので、エラーになります。 fatal error LNK1112: モジュールのコンピュータの種類 ‘X86′ は対象コンピュータの種類 ‘x64′ と競合しています。 強制的に32bitでコンパイルするオプションはあるのでしょうか?
- 締切済み
- C・C++・C#
- 32bitのPCに64bitのvistaを入れてしまった
32bitのノーパ(Lenovo R61)を使っているのですが、 まちがって、vistaの64bit版をかって、入れてしまいました。 で、 ●このままで問題はあるでしょうか? ●アプリで32bit版と64bit版の2つがある場合は、どちらを入れるべきでしょうか? ●C:\Program Files と C:\Program Files (x86) という2つのフォルダあるのですが、これらはどういう意味あいでしょうか? また、これらをどうすべきでしょうか?(片方をすてていいとか?) ●マイコンピュータのプロパティを見ると、4Gメモリが認識されているのですが (32bitだと3Gしか認識されないはずですよね?) これは、実際に認識されているのでしょうか? ●ほかに、気をつけるべき点があれば、お教えください。 よろしくお願いします。
- ベストアンサー
- Windows Vista
- C:\Program Files(x86)フォルダって何?
Windows Vista 64bitを使用しています。 C:\Program Filesフォルダとは別に、C:\Program Files(x86)フォルダと言うのがありますが、これって何ですか? ソフトをインストールする時に、どちらへ入れたら良いのか分かりません。
- ベストアンサー
- Windows Vista
- Windows VISTA 64bit/;32bit
Windows VISTAは64bitと32bitどちらなのでしょうか?? 新しくノートPCを購入しようと思ってるのですが・・・VISTAにアップグレード可能になるCPUは何なのでしょうか?? 教えてくださいm(_ _)m
- ベストアンサー
- その他(Windows)
- Vistaの32bitと64bitに関して
Vistaを購入したいと思っているのですが、今使っているPCのCPUがceleronDとPentium4(xp Home Edition)の場合、32bitか64bitのどちらを購入したらいいのですか?
- 締切済み
- Windows Vista
お礼
ありがとうございます!x64でデバッグできました! おっしゃる通りチェックボックスのデフォルトでOFFに なっていました。「推奨」に惑わされてはダメですね・・。 この後,リモートデバッガx64を再インストールする手間も ありましたが,問題は全て解決致しました。 これまで導入で支援して頂いたhidebunさんに,そして 解決へと展開して頂いたLchan0211さんに, 深くお礼を申し上げたいと思います。 本当にありがとうございました!皆様の様な 上級技術者になれるように,今後も勉学に励みたいと思いますので, 以後ご指導ご鞭撻の程,よろしくお願い致します。