1

多くのプロジェクトを含む Visual Studio ソリューションがあります。x86 と x64 の両方にデバッグ構成とリリース構成があり、特定の組み合わせを選択すると、すべてがその形式で正常にビルドされます。

ただし、現在選択されている「ビット数」に関係なく、特定の C++ プロジェクトは x86 と x64 の両方としてコンパイルする必要があるという要件があります。たとえば、ソリューションが x86 デバッグ モードでビルドされている場合、ビルド ディレクトリには、x86 と x64 の 2 つの exe のデバッグ コピーが存在する必要があります。

これを達成する最も簡単な方法は何ですか?プロジェクトの exename_32 と exename_64 の 2 つのコピーを作成してみました。私の最初のアイデアは、.vcproj ファイルの Debug|x64 ノードの内容を exename_64 の Debug|Win32 ノードにコピーすることでした。しかし、Win32 モードでソリューションをビルドしようとすると、exename_64 プロジェクトで次のエラーが発生します。

20>c:\program files (x86)\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(17): エラー C2371: 'size_t': 再定義; さまざまな基本タイプ

20> 事前定義された C++ 型 (コンパイラ内部)(19) : 'size_t' の宣言を参照

20>C:\Users\melol\Desktop\local\march03\src\thirdparty\Microsoft SDKs\Windows\v6.0\include\winnt.h(81): 致命的なエラー C1189: #error: "ターゲット アーキテクチャがありません"

問題の exe は、wWinMain を使用する Windows コマンド ライン ユーティリティです。#include は 2 つだけです。

#include <windows.h>
#include <iostream>

考え?

4

1 に答える 1

1

Visual Studio 2008 で 32/64 ビット (およびその逆) を確実にビルドできます。

あなたのタスクを達成する最も簡単な方法は、「バッチビルド」を使用してそれを行うようです: http://msdn.microsoft.com/en-us/library/169az28z(v=vs.90).aspx

このダイアログ ボックスを使用して、一度に複数のプロジェクト構成をすべて構築します。たとえば、1 つのコマンドでプロジェクトのすべてのプロジェクト構成をビルドすることを決定できます。このダイアログ ボックスには、[ビルド] メニューからアクセスできます。

于 2013-03-27T14:54:46.537 に答える