• 締切済み

fatal error LNK1112

fatal error LNK1112: モジュールのコンピューターの種類 'X86' は対象コンピューターの種類 'x64' と競合しています。 というエラーが出てコンパイルが出来ないのですが、どうすればコンパイル出来るでしょうか 当方の環境は以下のとおりです win7 64bit VC++ 2010 Express

みんなの回答

  • ohtawa
  • ベストアンサー率23% (9/38)
回答No.2

No.1さんのと似通っていますが 表面上のコンパイル環境が64ビットsystemで リンクするモジュールが32ビットsystemだと はねられる リンク関係をあらうとよいかな http://triple-tiara.blog.ocn.ne.jp/memo/2010/03/visualstudio200.html も参考にされてはいかがでしょうか

回答No.1

プロジェクト→プロパティから 構成プロパティ→リンカー→詳細設定の画面にて 対象コンピュータを MachineX86 (/MACHINE:X86) としてみてください。

ashiashi556
質問者

補足

リンカーという項目が見つからなかったのでライブラリアンの対象コンピューターをそのようにしてみたのですが、今度は fatal error LNK1112: モジュールのコンピューターの種類 'x64' は対象コンピューターの種類 'X86' と競合しています。 と出てきてしまいます

関連するQ&A

  • 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」

  • 64bit環境で32bitでコンパイルするオプションはあるのでしょうか?

    WindowsXP x64の環境でVC++2005でコンパイルすると64bitを生成しますが、リンクするモジュールが32bitなので、エラーになります。 fatal error LNK1112: モジュールのコンピュータの種類 ‘X86′ は対象コンピュータの種類 ‘x64′ と競合しています。 強制的に32bitでコンパイルするオプションはあるのでしょうか?

  • Win7 64bit のPCが'X86'と誤認識?

    Win7 64bit VC++ 2010 Express で、 fatal error LNK1112: モジュールのコンピューターの種類 'x64' は対象コンピューターの種類 'X86' と競合しています。 というエラーが出てコンパイルが最後まで行きません。 もちろんライブラリはすべて 64ビット版 を指定したつもりです。 エラーメッセージから見ると、対象コンピュータが32ビットとリンカーに誤認識されているようなのですが、誤解が解ければ解決する気がしています。 が、その修正のやり方がわかりません。

  • 【VC++】'X86' と 'x64'が競合

    はじめまして。 初めて質問させていただきます。 現在、Visual c++で作業をしていますが、エラーが発生し、困り果ててしまっています。。。 当方、プログラミングの経験は浅く、特にC++は最近始めました。 以下に、エラーメッセージ、環境を記載します。 ○エラーメッセージ LNK1112: モジュールのコンピューターの種類 'X86' は対象コンピューターの種類 'x64' と競合しています。 ○環境 OS : Windows 7 Professional (64bit) Visual C++ Express 2010 OpenCV2.3.1 たくさん検索し、過去にも類似した事例がありましたが、解決には至りませんでした。。。 色々検索した限りでは、OpenCVのlibが関連ありそうなのですが、、、 私の勉強不足により、お手数をお掛けし申し訳ありませんが、 ご教授いただけないでしょうか。 よろしくお願い致します。

  • 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)」に強制的にインストールしてしまうことです。

  • express editionの64bitアプリ

    Visual Studio 2008 express edition OSはwindows7(64bit)を使用しています。 現在開発しているツールに大容量のデータを読み込ませるため、 64bitでツールを作りたいと思っています。 構成マネージャ > アクティブソリューションプラットフォーム でx64を選択したのですが、 2Gbyte届かない程度のデータを読み込んだところで、限界となってしまいました。 リンカ > 詳細 > 対象コンピュータ が MachineX86(/MACHINE:X86) となっているのがダメなのかと思い、 MachineX64(/MACHINE:X64) に変えてみたのですが、今度は以下のようなエラーが出てしまいました。 fatal error LNK1112: モジュールのコンピュータの種類 'X86' は対象コンピュータの種類 'x64' と競合しています。 現在の状態からどのようにすれば、64bitでビルドができるのでしょうか。 原因や対処法をご存知の方がいましたら、ご教授ください。

  • VC++ 2005 Express Edition 設定のエラー

    こんにちは。 おそらく設定のエラーでしょうが、解決策がまったく見つからないので質問してみました。 Visual C++ 2005 Express Edition(VCEE) を使ってみようと思ったので、 VCEEをダウンロードして、インストールしました。 その後、Win32アプリケーションを作成しようと思い、 PSDK-x86をダウンロードしてインストールしました。 そして、VCEEで、 「ツール」から「オプション」、「プロジェクトおよびソリューション」の「VC++ ディレクトリ」で 実行可能ファイル・インクルードファイル・ライブラリファイルで設定をし、corewin_express.vspropsファイルも変更して、これでできる、と思ったのですが、 新規作成でWin32アプリケーションが作れませんし、 昔作っていたものをコンパイルしようと思ったら「コンピューターの競合」のエラーがでます。 いろいろネットを探したのですが、見つかりませんでした。 だれか知っているでしょうか。 長文失礼いたします。

  • error LNK2001について

    C++ の勉強中です。 error LNK2001問題がありました。問題点も分からないから、 分かった方に教えていただけないでしょうか? ソースも添付します。環境はVS2005 express edition まず、ヘッダファイルです。ファイル名は、myheader.h #ifndef __MYHEADER_H__ #define __MYHEADER_H__ #define includeshow(x) \ { \ s.show(x); \ } class Sample{ public: void show(char * parameter); }; extern Sample s; #endif //------------------------------------------------ 次に、Sample.cppです。 #include "myheader.h" #include <stdio.h> void Sample::show(char *parameter){ printf("in show func"); } //----------------------------------------------- 最後にTest.cppです。 #include "myheader.h" #include <stdio.h> int main(){ includeshow("ppppp"); } これで error LNK2001: 外部シンボル ""class Sample s" (?s@@3VSample@@A)" は未解決です。というエラーが出ています。 よろしくおねがいします。

  • 'X86' は対象コンピュータの種類 'x64' と競合しています

    visualStudio2005でx64用のモジュールを作成したいと思っています。 環境はXPの32bitで、行っているのですが、下記のようなメッセージが出て解決できません。 「'X86' は対象コンピュータの種類 'x64' と競合しています」 何か方法はないでしょうか???

  • VC++でのリンクエラー [error LNK2005]

    VC++でMFCを使用してダイアログベースのEXEを 作成しています。 以下のクラスのメンバ関数などを使用して、色の操作をしています。 CDC::SetBkColor() CDC::SetTextColor() ビルド時、以下のリンクエラーとなりました。 ---------------------------------------------- nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) はすでに LIBCMT.lib(delete.obj) で 定義されています Release/MenueTest.exe : fatal error LNK1169: 1 つ 以上の複数回定義されているシンボルが見つかりました link.exe の実行エラー ---------------------------------------------- MFC と C(?)のライブラリで delete()関数が競合しているようですが、これを回避する方法をご存知の方、ご教授願います。 <環境> OS:Windows2000 VC++6.0 <備考> リンクエラーになるのは以下の組み合わせです。 「MFCをスタティックリンクする+リリース版」 MFCをスタティックリンクしてもデバッグ版のビルドだとエラーになりません。 また、MFCをスタティックリンクしない場合もエラーにはなりません。 ただし、リンクエラーにならなかった場合、どちらのオブジェクトの delete()関数が呼ばれるか不明で、それが正しいのかも心配です。

専門家に質問してみよう