私はresources.qrcに入れて、たくさんの小さな画像を必要とするWindowsゲームを開発しています。 14MB。Qtコンパイルエラー:「メモリ不足134mb」「cc1plus.exeが見つかりません」
唯一のエラーをコンパイルしようとすると、「134 MBのメモリが不足しています」、「cc1plus.exeが見つかりません」。
どうすれば対応できますか? ありがとうございます。
私はresources.qrcに入れて、たくさんの小さな画像を必要とするWindowsゲームを開発しています。 14MB。Qtコンパイルエラー:「メモリ不足134mb」「cc1plus.exeが見つかりません」
唯一のエラーをコンパイルしようとすると、「134 MBのメモリが不足しています」、「cc1plus.exeが見つかりません」。
どうすれば対応できますか? ありがとうございます。
qrcに入れてはいけません。個々のリソース(またはイメージごとに新しいqrcファイル)として保存し、アプリケーションの起動時にそれらをロードしてください。 Qtはqrc_XXXXX.cppファイルを生成します。このファイルでは、このファイル内のリソースファイルXXXXX内のすべてのリソースのchar配列の形式でバイナリデータを効果的に挿入します(14MBイメージの場合は1つの配列、つまり14680064バイト0x27)は、1つのファイルに...それは大きくなる!)、非常に貧しいコンパイラは、それらの咳をする可能性が高い...
私の状況では、.exe
に私の状況では、 。
このエラーの後、私は追加のRAMを買う(プロジェクトは非常に重要である)、その後、私のRAM(6 GBから)12ギガバイトとなりました。
しかし、エラーが後に:) dissaperaredていなかったとき、私は非常に驚きましたいくつかのグーグル、最後に、私は答えthereを見つけた。問題はcc1plus.exe
実行可能メモリの制限です。だから、Qtの場合には、この問題は(Windows 7のために、他人のためにMINGW32 4.9.2は、おそらく単純にパスを変更する必要がある)、この段階で解決することができます。
bcdedit /set IncreaseUserVa 3072
cd C:\Qt\Tools\mingw492_32\libexec\gcc\i686-w64-mingw32\4.9.2
がすべてですC:\masm32\bin\editbin.exe /LARGEADDRESSAWARE cc1plus.exe
を入れて置きます。 Qtの5.7.0は
ありがとう、私はwin32実行可能ファイルにlargeaddressawareフラグを設定するには、editbin.exeが必要です。 – DanC225
のWindows 7SP1のx86 4GBのRAM :)それが役に立つことを願っています私はQtの中で資源に大きなファイルを追加したとき、私は同じ問題を抱えていた、私はエラーが発生しました:
cc1plus.exe:-1: error: out of memory allocating 1073745919 bytes
ソリューション:
が*.pro
ファイルにCONFIG += resources_big
を追加します。
@fritzoneのおかげで、私は、QRCせずに自分のファイルをロードする方法がわかりません。私にリンクやコードを教えてもらえますか?どうもありがとうございました。 –