當前位置:首頁 » 編程軟體 » 編譯不足

編譯不足

發布時間: 2023-07-13 00:13:37

A. visual studio 編譯器的堆空間不足問題的解決(cmake版本)

我們有個自動編譯游戲引擎的腳本,這個腳本時間用久了,總是會報如下的錯誤:

fatal error C1060: 編譯器的堆空間不足

每次出現這種錯誤,總是要請人重啟機器,重新配置,很耽誤時間和精力。

所以本人就在努力尋找一個徹底的解決辦法。

想直接要解決方法的朋友可以跳過接下來的兩節。

簡單網上搜一下,就能搜到參考文獻1。

如果你的c++工程不用cmake,參考文獻1的方法足以滿足你的需求。

但是我們工程比較大,肯定是要用cmake的,所以我就開始嘗試各種方法: 通過改工程的cmake文件的方式來讓cmake生成的vcxproj工程文件中包含PreferredToolArchitecture屬性。

網上找了好久,試了不少辦法,還是沒用。

發現最終解決方案也是個很有趣的過程,值得記錄。

首先我看見PreferredToolArchitecture父節點是PropertyGroup,而PropertyGroup下面有Platform屬性,PreferredToolArchitecture和Platform是兄弟屬性。

我們的Platform用x64還是win32,都是在cmake命令行里指定的。

所以我就大膽猜測,PreferredToolArchitecture這個屬性如果可以通過cmake設置的話,大概率也是在cmake的命令行中設置!

接著,就是小心求證的過程,先執行: cmake --help

通過閱讀幫助文檔,輔以簡單的排除法,我覺得toolset-name這個屬性很可能是我要的,於是谷歌: cmake toolset name

從而找到了文檔2,在文檔2中發現了host=x64這個東西,但是我還不知道怎麼用!於是繼續搜索:cmake host=x64

找到了文檔3,然後修改我們的編譯腳本,加入這個編譯選項,重新cmake,果然,出現了vcxproj文件中看到了PreferredToolArchitecture x64屬性!

感覺成功了90%,編譯工程,打開任務管理器,觀察進程名稱,發現c++編譯器都是64位的,遂大功告成。

問題的本質就是windows操作系統visual studio的默認cpp編譯器是32位的,所以最大內存是4G,就容易導致編譯器內存不足。

有問題的cmake指令如下:

使用64位的cpp編譯器的解決方法如下:

注意: cmake的GUI並沒有-T host的選擇,當然最新版的GUI可能也會加這個。。

還有另一種方法,添加環境變數: set PreferredToolArchitecture=x64

雖然用了64位的cpp編譯器,過了一段時間,還是報堆空間不足的問題。

據觀察,物理內存佔用率100%,所以考慮利用空閑的磁碟空間,增大機器的虛擬內存。

win10如何設置虛擬內存的大小: https://jingyan..com/article/2fb0ba4041d14c00f3ec5f4e.html

物理內存只有32G,以前的虛擬內存是6G,我利用空閑磁碟,增大虛擬內存到100G!

B. 如何解決 用於 actionscript 3.0 編譯的 java 虛擬機內存不足

  • 增加 Java 虛擬機的內存限制:在啟動 animate 時,使用 "-Xmx" 選項增加可用的內存量。例如,"-Xmx1024m" 表示最多可分配 1024 MB 的內存。

  • 減小彎爛叢 Actionscript 3.0 編譯的文件大小:減小編譯文件的大小可以減少內存需求。可以考慮刪除不埋櫻必要的資源,壓縮圖像文件,或者使用更有效的圖像格式。

  • 使用 64 位 Java 虛擬機:64 位 Java 虛擬機具有更大的可用內存,因此可以使用它來避免內存不足的問題。

  • 拆分 Actionscript 3.0 編譯的文件:將大型的 Actionscript 3.0 編譯的文件拆分成較小的文件歷拆,可以減少單個文件所需的內存。

  • 希望以上步驟可以幫助你解決 animate 用於 Actionscript 3.0 編譯時 Java 虛擬機內存不足的問題。

C. 編譯提示內存不足怎麼回事

這個的意思是:
標題:微軟VC++運行庫
內容:運行中出錯(錯誤)!
路徑:C:\Program Files\易語言v.5.11\e.exe
程序異常終止
--------------------
應該是易語言本身的問題,下載官方的易語言或者選擇沒有損壞的破解版。
如果重裝了易語言與還是不行,那麼就重裝VC++運行庫

D. 編譯C程序時提示內存不夠怎麼辦

可能是如下情況:你的程序嚴重錯誤,不斷的malloc或new內存卻沒有free或delete.
或者是你內存小到可憐。

所以,建議你換用版本較好的編譯器,如Turboc for windows或VC。
同時重啟以此計算機,內存是RAM,重啟自然會恢復。

E. 易語言.請問一下編譯內存不足怎麼解決

再好不要把ide放在C盤,內存不足的話,就加裝內存條吧,或者乾脆換電腦。

F. eclipse編譯項目內存不足,電腦有內存但xmx又設不了更大

你先設置-Xms512m,-Xms1024m,如果你可用內存不足1024,再設置小點;你也可以在運行jdk上設置

熱點內容
寒靈之劍腳本 發布:2025-02-07 06:57:12 瀏覽:118
解壓的窗口 發布:2025-02-07 06:44:34 瀏覽:797
android身份證 發布:2025-02-07 06:36:43 瀏覽:430
python的庫在哪 發布:2025-02-07 06:30:24 瀏覽:348
帶鎖的鉛筆如何改密碼 發布:2025-02-07 06:18:05 瀏覽:164
ubuntu搭建samba伺服器 發布:2025-02-07 05:52:54 瀏覽:54
小型企業網如何配置可以互通 發布:2025-02-07 05:33:56 瀏覽:243
09年crv哪個配置好 發布:2025-02-07 05:17:31 瀏覽:555
nvm源碼編譯 發布:2025-02-07 05:13:19 瀏覽:126
防偽碼查詢源碼 發布:2025-02-07 05:09:39 瀏覽:770