1

私はWindows64で作業しており、プロジェクトのmakefileが必要です。Win 32の既存のmakefileがあり、makefileから64ビット環境を設定する方法がわかりません。
誰かがそれをしたか、Win 64のサンプルmakefileを持っているなら、私と共有してください。次のエラーが発生します

c:\program files (x86)\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(17) : error C2371: 'size_t' : redefinition; d
ifferent basic types
        predefined C++ types (compiler internal)(19) : see declaration of 'size_t'
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(81) : fatal error C1189: #error :  "No Target Architecture"
make[3]: *** [shared/anonObject.o] Error 2

これは主に、VSx64ビット構成が設定されていない場合に発生します。

4

2 に答える 2

2

そのエラー(ターゲットアーキテクチャなし_AMD64_)は、どちらも定義されていない場合にプリプロセッサによってスローされ_IA64_ます。これは、ターゲットアーキテクチャを誤って設定したか(に渡す必要があります)、または本当にエキゾチックなアーキテクチャで作業していることを示唆/MACHINE:X64clていると思います。 。

clもちろん、64ビットバージョン(の1つ)を実行する必要があることを除いて、64ビットコンパイルに関する他の専門分野については知りませんVC\bin\amd64

さらに言えば、32ビットライブラリの代わりに64ビットライブラリを使用してリンクすることも忘れないでください。それらは、それぞれのlib\x64(Windows SDK)フォルダーとlib\amd64(Visual Studio)フォルダーにあります。


size_tすでに定義されているという事実は、おそらくを使用して修正することができます

#define _SIZE_T_DEFINED

含める前にsourceannotations.h。自分で定義size_tしていますか?これはで行われwindows.h、上記を自動的に定義する必要があります。

于 2011-02-07T08:20:12.857 に答える
0

コマンドプロンプトで64ビット環境を設定してから、/ MACHINE:X64オプションを指定してmakefileを実行しました。

于 2011-02-10T11:13:56.260 に答える