2016-04-25 16 views
6

多くのテンプレートを持つC++プロジェクトがあり、fatal error C1060: compiler is out of heap spaceでコンパイルできません。たくさんの空きRAMがあります。私は/ Zmコンパイラオプションで支払いしようとしましたが、それは役に立ちませんでした。私はVisual Studioでコンパイラの32ビット版を使用していることがわかります。これがこのエラーの原因だと思います。 Visual Studioに代わりに64ビットコンパイラを使用するように強制する方法はありますか?Visual C++で64ビットコンパイラを使用する場合2015

UPDATE

私の質問は、重複ではありません。私は他の質問を見て、提案を試みました。しかし私の場合、コンパイラはプロジェクトをコンパイルするために6GB以上のRAMを必要とします。これは、64ビットコンパイラによって割り当てられるRAMの最大量でした。私はmsbuildを使ってプロジェクトをビルドするときに64ビットコンパイラを使うことができますが、Visual Studioからビルドしたいのですが、デフォルトで32ビットコンパイラを使用しています。私はそれが64ビットコンパイラを使用するように強制したい。 64ビットコンパイラとは、64ビットアプリケーションを作成するだけでなく、64ビットアプリケーション自体を作成するコンパイラを意味します。

+0

この質問を見て、@Colin Robertsonのコメント – RomCoo

+1

を試しましたか? https://msdn.microsoft.com/en-us/library/yz7kx3y2.aspx –

+2

[Visual Studio Compilerのクラッシュを回避する方法](http://stackoverflow.com/questions/1388608/how-to- work-around-visual-studio-compiler-crashes) –

答えて

0

ハンスアンパッサンによって示唆されるようにこの問題を解決するには、64ビットのバイナリに自分のその時点で実行可能ディレクトリを変更することでした。 これを行うには、Visual StudioのC++プロジェクトプロパティ - > VC++ディレクトリ - >実行可能ディレクトリに移動し、値を $(VC_ExecutablePath_x64_x64); $(WindowsSDK_ExecutablePath_x64); $(VS_ExecutablePat h); $(MSBuild_ExecutablePath) ; $(FxCopDir); $(PATH)

この変更により、Visual Studioでは64ビットのC++コンパイラが使用されます。

1

x64の64ビットネイティブであるコンパイラ使用することができ、https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx?f=255&mspperror=-2147217396#Anchor_1を参照します。

このようにするには、コマンドプロンプトでhttps://msdn.microsoft.com/en-us/library/x4d2c09s.aspx#Anchor_0、 を実行します。vcvarsall amd64を実行します。その後

、コマンドラインでdevenvを実行している、/useenvオプション追加:あなたはコマンドライン用devenvをを使用している場合

ビルド、vcvarsall.batまたはVCVARS32.BAT によって設定された環境ではありませんあなたもの場合は、/ useenvオプションを指定しない限り、ビルドには影響しません。コメント欄で

関連する問題