導航:首頁 > 源碼編譯 > vs編譯時系統資源不足

vs編譯時系統資源不足

發布時間:2024-04-27 14:33:34

① vs2008編譯成功,生成mt.exe時出錯

建議把編譯時輸出的錯誤信息全部貼上來,你給的信息太少,大家只能猜
請看看你的項目設置中的「生成事件」下的幾個選項中的「命令行」項內容是否正確,把它清空試試

附MSDN解釋:

Visual C++ 概念:生成 C/C++ 程序
項目生成錯誤 PRJ0003

錯誤消息
生成「command line」時出錯。

由「屬性頁」對話框中的用戶輸入形成的命令 command line 返回了一個錯誤代碼,但輸出窗口中不顯示任何信息。

此錯誤的可能原因為:

項目依賴於 ATL Server。從 Visual Studio 2008 開始,ATL Server 不再包括在 Visual Studio 中,但已在 CodePlex 作為共享源代碼項目發布。若要下載 ATL Server 源代碼和工具,請轉到 http://go.microsoft.com/fwlink/。

系統資源不足。關閉一些應用程序以解決此問題。

沒有足夠的安全特權。驗證是否有足夠的安全特權。

VC++ 目錄中指定的可執行路徑不包括您正嘗試運行的工具的路徑。

對於生成文件項目,缺少要在「生成命令行」或「重新生成命令行」上運行的命令。

② 緋葷粺鍑虹幇鈥滆祫婧愪笉瓚崇殑鎻愮ず鈥濓紝鏄鎬庝箞鍥炰簨錛

鎴戜滑鍦ㄤ嬌鐢ㄧ數鑴戠殑榪囩▼涓錛屽傛灉浣犵郴緇熺殑閰嶇疆涓嶆槸寰堥珮錛岄偅涔堢粡甯稿彲鑳戒細鍑虹幇緋葷粺璧勬簮涓嶈凍鐨勬彁紺猴紝褰撶劧閰嶇疆浠ュ栫殑鍏跺畠鎯呭喌涔熶細閫犳垚緋葷粺璧勬簮鐨勪笉瓚熾傞潰瀵圭郴緇熻祫婧愪笉瓚崇殑鎯呭喌鎴戜滑搴旇ユ庝箞澶勭悊鍛?璇風湅涓嬮潰鐨勪竷縐嶆柟娉曘 1. 娓呴櫎鈥滃壀璐存澘鈥濄傚綋鈥滃壀璐存澘鈥濅腑瀛樻斁鐨勬槸涓騫呭浘鐢繪垨澶ф墊枃鏈鏃訛紝浼氬崰鐢ㄨ緝澶氬唴瀛樸傝鋒竻闄も滃壀璐存澘鈥濅腑鐨勫唴瀹癸紝閲婃斁瀹冨崰鐢ㄧ殑緋葷粺璧勬簮:鍗曞嚮鈥滃紑濮嬧濓紝鎸囧悜鈥滅▼搴忊濓紝鎸囧悜鈥滈檮浠垛濓紝鎸囧悜鈥滅郴緇熷伐鍏封濓紝鍗曞嚮鈥滃壀璐存澘鏌ョ湅紼嬪簭鈥濓紝鐒跺悗鍦ㄢ滅紪杈戔濊彍鍗曚笂錛屽崟鍑燴滃垹闄も濆懡浠ゃ 2. 閲嶆柊鍚鍔ㄨ$畻鏈恆傚彧閫鍑虹▼搴忥紝騫朵笉閲嶆柊鍚鍔ㄨ$畻鏈猴紝紼嬪簭鍙鑳芥棤娉曞皢鍗犵敤鐨勮祫婧愬綊榪樼粰緋葷粺銆傝烽噸鏂板惎鍔ㄨ$畻鏈轟互閲婃斁緋葷粺璧勬簮銆 3. 鍑忓皯鑷鍔ㄨ繍琛岀殑紼嬪簭銆傚傛灉鍦ㄥ惎鍔╓indows鏃惰嚜鍔ㄨ繍琛岀殑紼嬪簭澶澶氾紝閭d箞錛屽嵆浣塊噸鏂板惎鍔ㄨ$畻鏈猴紝涔熷皢娌℃湁瓚沖熺殑緋葷粺璧勬簮鐢ㄤ簬榪愯屽叾浠栫▼搴忋傝劇疆Windows涓嶅惎鍔ㄨ繃澶氱▼搴:鍏朵竴錛屽崟鍑燴滃紑濮嬧啋榪愯屸濓紝閿鍏モ渕sconfig鈥濓紝鍗曞嚮鈥滅『瀹氣濇寜閽錛屽崟鍑燴滃惎鍔ㄢ濋夐」鍗★紝娓呴櫎涓嶉渶瑕佽嚜鍚鍔ㄧ殑紼嬪簭鍓嶇殑澶嶉夋嗐傚叾浜岋紝鍗曞嚮鈥滃紑濮嬧啋榪愯屸濓紝閿鍏モ渟ysedit鈥濓紝鍗曞嚮鈥滅『瀹氣濇寜閽錛屽垹闄も渁utoexec.bat鈥濄佲渨in.ini鈥濆拰鈥渃onfig.sys鈥濇枃浠朵腑涓嶅繀瑕佺殑鑷鍚鍔ㄧ殑紼嬪簭琛屻傜劧鍚庯紝閲嶆柊鍚鍔ㄨ$畻鏈恆 4. 璁劇疆鉶氭嫙鍐呭瓨銆傝櫄鎷熷唴瀛樹笉瓚充篃浼氶犳垚緋葷粺榪愯岄敊璇.鍙浠ュ湪鈥滅郴緇熷睘鎬р濆硅瘽妗嗕腑鎵嬪姩閰嶇疆鉶氭嫙鍐呭瓨錛屾妸鉶氭嫙鍐呭瓨鐨勯粯璁や綅緗杞鍒板彲鐢ㄧ┖闂村ぇ鐨勫叾浠栫佺洏鍒嗗尯銆 鍙︼細 緋葷粺璧勬簮(System Resource)鍜屽唴鍦ㄥ苟涓嶆槸鍚屼竴涓姒傚康銆 涓変釜User璧勬簮鍫嗗垎鍒鏄:16浣嶇殑鐢ㄦ埛鍫(User Heap錛64KB);32浣嶇殑紿楀彛鍫(Windows Heap錛2MB);32浣嶇殑鐢ㄦ埛鑿滃崟鍫(User Menu Heap錛2MB)銆 涓や釜GDI璧勬簮鍫嗗垎鍒鏄:16浣嶇殑GDI鍫(GDI Heap錛64KB);32浣嶇殑GDI鍫(GDI錛2MB)銆 浠庤繖閲岀殑緋葷粺璧勬簮鍒嗙被鍜屽ぇ灝忔垜浠搴旇ユ槑鐧斤紝涓嶇CPU鏄疨4榪樻槸486錛屽唴瀛樻槸8M榪樻槸1G錛屾墍鏈塛indows鐨勭敤鎴烽兘鎷ユ湁鍚屾牱澶у皬鐨勭郴緇熻祫婧(鍫)錛岀敤鎴蜂笉鑳借嚜宸卞炲姞鎴栧噺灝戠郴緇熻祫婧愮殑澶у皬錛岃繖鏄鐢辨搷浣滅郴緇熷喅瀹氱殑錛屼笌紜浠舵。嬈℃病鏈変換浣曞叧緋匯 闂棰樺師鍥: 鍦╓indows涓姣忚繍琛屼竴涓紼嬪簭錛岀郴緇熻祫婧愬氨浼氬噺灝戙傛湁鐨勭▼搴忎細娑堣楀ぇ閲忕殑緋葷粺璧勬簮錛屽嵆浣挎妸璧勬簮鍏抽棴錛屽湪鍐呭瓨涓榪樻槸鏈変竴浜涙病鏈夌殑DLL鏂囦歡鍦ㄨ繍琛岋紝榪欐牱灝變究寰楃郴緇熺殑榪愯岄熷害涓嬮檷錛岀敋鑷沖嚭鐜頒笂榪伴棶棰樸 瑙e喅鍔炴硶: 鎴戜滑鍙浠ラ氳繃淇鏀規敞鍐岃〃閿鍊肩殑鏂規硶錛屼嬌鍏抽棴杞浠跺悗鑷鍔ㄦ竻闄ゅ唴瀛樹腑娌$敤鐨凞LL鏂囦歡鍙婃椂鏀跺洖娑堣楃殑緋葷粺璧勬簮銆傛墦寮娉ㄥ唽琛ㄧ紪杈戝櫒錛屾壘鍒扳淗KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer"涓轟富閿錛屽湪鍙寵繃紿椾腑鍗曞嚮鍙抽敭錛屾柊寤轟竴涓鍚嶈繖鈥淎lwaysUnloadDII鈥滅殑鈥滃瓧絎︿覆鍊尖滐紝鐒跺悗灝嗏淎lwaysUnloadDII鈥滅殑閿鍊間慨鏀逛負鈥1鈥滐紝閫鍑烘敞鍐岃〃閲嶆柊鍚鍔ㄦ満鍣ㄥ嵆鍙杈懼埌鐩鐨

③ 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!

④ 鎿嶄綔緋葷粺璧勬簮涓嶈凍鎬庝箞鍔(緋葷粺璧勬簮涓嶈凍鎬庝箞鍔烇紵)


銆愯В鍐沖姙娉曘
鎴戜滑鍙浠ラ氳繃淇鏀規敞鍐岃〃閿鍊肩殑鏂規硶錛屼嬌鍏抽棴杞浠跺悗鑷鍔ㄦ竻闄ゅ唴瀛樹腑娌$敤鐨凞LL鏂囦歡鍙婃椂鏀跺洖娑堣楃殑緋葷粺璧勬簮銆傛墦寮娉ㄥ唽琛ㄧ紪杈戝櫒錛屾壘鍒扳淗KEY_LOCAL_涓轟富閿錛屽湪鍙寵繃紿椾腑鍗曞嚮鍙抽敭錛屾柊寤轟竴涓鍚嶈繖鈥淎lwaysUnloadDII鈥滅殑鈥滃瓧絎︿覆鍊尖滐紝鐒跺悗灝嗏淎lwaysUnloadDII鈥滅殑閿鍊間慨鏀逛負鈥1鈥滐紝閫鍑烘敞鍐岃〃閲嶆柊鍚鍔ㄦ満鍣ㄥ嵆鍙杈懼埌鐩鐨勩
鎿嶄綔鏂規
絎涓縐嶆柟妗
1.娓呴櫎鈥滃壀璐存澘
褰撯滃壀璐存澘涓瀛樻斁鐨勬槸涓騫呭浘鐢繪垨澶ф墊枃鏈鏃訛紝浼氬崰鐢ㄨ緝澶氬唴瀛樸傝鋒竻闄も滃壀璐存澘涓鐨勫唴瀹癸紝閲婃斁瀹冨崰鐢ㄧ殑緋葷粺璧勬簮錛氬崟鍑燴滃紑濮嬶紝鎸囧悜鈥滅▼搴忥紝鎸囧悜鈥滈檮浠訛紝鎸囧悜鈥滅郴緇熷伐鍏鳳紝鍗曞嚮鈥滃壀璐存澘鏌ョ湅紼嬪簭錛岀劧鍚庡湪鈥滅紪杈戣彍鍗曚笂錛屽崟鍑燴滃垹闄ゅ懡浠ゃ
2.閲嶆柊鍚鍔ㄨ$畻鏈
鍙閫鍑虹▼搴忥紝騫朵笉閲嶆柊鍚鍔ㄨ$畻鏈猴紝紼嬪簭鍙鑳芥棤娉曞皢鍗犵敤鐨勮祫婧愬綊榪樼粰緋葷粺銆傝烽噸鏂板惎鍔ㄨ$畻鏈轟互閲婃斁緋葷粺璧勬簮銆
3.鍑忓皯鑷鍔ㄨ繍琛岀殑紼嬪簭
濡傛灉鍦ㄥ惎鍔╓indows鏃惰嚜鍔ㄨ繍琛岀殑紼嬪簭澶澶氾紝閭d箞錛屽嵆浣塊噸鏂板惎鍔ㄨ$畻鏈猴紝涔熷皢娌℃湁瓚沖熺殑緋葷粺璧勬簮鐢ㄤ簬榪愯屽叾浠栫▼搴忋傝劇疆Windows涓嶅惎鍔ㄨ繃澶氱▼搴忥細鍏朵竴錛屽崟鍑燴滃紑濮嬧啋榪愯岋紝閿鍏モ渕sconfig錛屽崟鍑燴滅『瀹氭寜閽錛屽崟鍑燴滃惎鍔ㄩ夊崱錛屾竻闄や笉闇瑕佽嚜鍚鍔ㄧ殑紼嬪簭鍓嶇殑澶嶉夋嗐傚叾浜岋紝鍗曞嚮鈥滃紑濮嬧啋榪愯岋紝閿鍏モ渟ysedit錛屽崟鍑燴滅『瀹氭寜閽錛屽垹闄も渁utoexec.bat銆佲渨in.ini鍜屸渃onfig.sys鏂囦歡涓涓嶅繀瑕佺殑鑷鍚鍔ㄧ殑紼嬪簭琛屻傜劧鍚庯紝閲嶆柊鍚鍔ㄨ$畻鏈恆
4.璁劇疆鉶氭嫙鍐呭瓨
鉶氭嫙鍐呭瓨涓嶈凍涔熶細閫犳垚緋葷粺榪愯岄敊璇.鍙浠ュ湪鈥滅郴緇熷睘鎬у硅瘽妗嗕腑鎵嬪姩閰嶇疆鉶氭嫙鍐呭瓨錛屾妸鉶氭嫙鍐呭瓨鐨勯粯璁や綅緗杞鍒板彲鐢ㄧ┖闂村ぇ鐨勫叾浠栫佺洏鍒嗗尯銆
5.搴旂敤紼嬪簭瀛樺湪Bug鎴栨瘉鍧
鏈変簺搴旂敤紼嬪簭璁捐′笂瀛樺湪Bug鎴栬呭凡琚姣佸潖錛岃繍琛屾椂灝卞彲鑳戒笌Windows鍙戠敓鍐茬獊鎴栦簤澶鴻祫婧愶紝閫犳垚緋葷粺璧勬簮涓嶈凍銆傝В鍐蟲柟娉曟湁浜岋細涓鏄鍗囩駭闂棰樿蔣浠訛紝浜屾槸灝嗘よ蔣浠跺嵏杞斤紝鏀硅呭叾浠栧悓綾昏蔣浠躲
6.鍐呭瓨浼樺寲杞浠
涓嶅皯鐨勫唴瀛樹紭鍖栬蔣浠訛紝濡俁AMIdle鍜孧emoKit閮借兘澶熻嚜鍔ㄦ竻絀衡滃壀璐存澘銆侀噴鏀捐鍏抽棴紼嬪簭鏈閲婃斁鐨勭郴緇熻祫婧愩佸硅櫄鎷熷唴瀛樻枃浠惰繘琛岄噸鏂扮粍緇囩瓑錛屽厤闄ゆ墜宸ユ搷浣滅殑楹葷儲錛岃揪鍒拌嚜鍔ㄩ噴鏀劇郴緇熻祫婧愮殑鐩鐨勩
絎浜岀嶆柟妗
1.紱佺敤涓閮ㄥ垎鍚鍔ㄩ」
鍚鍔ㄦ椂鍔犺澆榪囧氱殑搴旂敤紼嬪簭浼氫嬌Windows鍥犵郴緇熻祫婧愪弗閲嶄笉瓚寵屸滆摑灞忥紝鍥犳ゆ垜浠鏈濂借繍琛屸淢sconfig紱佺敤涓閮ㄥ垎搴旂敤紼嬪簭銆傛垨鑰呬嬌鐢╓indows浼樺寲澶у笀鏉ヤ唬鍔熾
2.璁劇疆瓚沖熺殑鉶氭嫙鍐呭瓨
鉶氭嫙鍐呭瓨涓嶈凍涔熶細閫犳垚緋葷粺澶氫換鍔¤繍綆楅敊璇錛屾垜浠鍙浠ラ氳繃鏃跺父鍒犻櫎涓浜涗復鏃舵枃浠跺拰浜ゆ崲鏂囦歡瀵規ら棶棰樺姞浠ヨВ鍐籌紝姝ゅ栬繕鍙浠ュ湪鈥滅郴緇熷睘鎬т笅鎵嬪姩閰嶇疆鉶氭嫙鍐呭瓨錛屾妸鉶氭嫙鍐呭瓨鐨勯粯璁や綅緗杞鍒板叾浠栭昏緫鐩樹笅銆傚苟璁劇疆寰楀ぇ涓浜涖
3.緇欑‖鐩樹繚鐣欒凍澶熺┖闂
鐢變簬Win9X榪愯屾椂闇瑕佺敤紜鐩樹綔鉶氭嫙鍐呭瓨錛岃繖灝辮佹眰紜鐩樺繀欏諱繚鐣欎竴瀹氱殑鑷鐢辯┖闂翠互淇濊瘉紼嬪簭鐨勬e父榪愯屻備竴鑸鑰岃█錛屾渶浣庡簲淇濊瘉100MB浠ヤ笂鐨勭┖闂達紝鍚﹀垯鍑虹幇鈥滆摑灞忓緢鍙鑳戒笌紜鐩樺墿浣欑┖闂村お灝忔湁鍏熾傚彟澶栵紝紜鐩樼殑紕庣墖澶澶氾紝涔熷規槗瀵艱嚧鈥滆摑灞忕殑鍑虹幇銆傚洜姝わ紝姣忛殧涓孌墊椂闂磋繘琛屼竴嬈$庣墖鏁寸悊鏄蹇呰佺殑銆
4.浣跨敤鍐呭瓨綆$悊杞浠
鍓╀笅鐨勫氨鏄浜涙潅欏逛簡錛岃稿備笉鐢╝ctivedesktop涔嬬被嫻璐硅祫婧愮殑鍔熻兘銆備嬌鐢ㄥ唴瀛樼$悊杞浠訛紝濡俁AMIdle涔嬬被鐨勩傚吇鎴愬ソ涔犳儻錛屾殏鏃朵笉鐢ㄧ殑紼嬪簭灝卞皢鍏跺叧闂銆

⑤ visualsvnserver在browse時提示內存不足

解決方案:1、打開3G內存支持開關,使操作系統應用程序可以使用3G內存。2、將命令行cd到你的vs的devenv.exe所在的安裝目錄,一般在這里C盤。3、關掉你所有打開的VS,(最好備份一下devenv.exe)在命令行輸入命令。4、如果OK了的話,重啟計算機生效。
如果重啟WIN7後出現系統無法啟動,無限跳到啟動修復的話,則需要重置系統引導,按照如下操作。1、重啟一直按F8進入高級菜單選擇,進入安全模式。(如果無法進入安全模式則是系統損壞,可以嘗試在啟動修復中還原系統。)2、相對於其他版本的Windows而言,雖然Win7系統的穩定性是毋庸置疑的,但是由於突然斷電、病毒破壞或者是安裝、卸載某些比較特殊的軟體,同樣會使得Win7的引導程序無法正常工作,此時Win7就會無法正常啟動並且同時報告錯誤。3、在這種狀態下,按下F8快捷楗根本無法調出Win7的高級啟動菜單。
擴大使用內存不能解決問題的話,有以下幾種可行方案:1、安裝64位系統。2、在編譯前關閉所有Design(設計)頁面,Design頁面也有可能消耗大量內存。3、卸載VisualStudio的插件,例如ReShaper等。4、重裝VisualStudio。目前我是在VS2008上經常出現該問題,VS2010官方已經發布了一個相關補丁來修復。5、卸載電腦中當前運行占內存比較大的軟體,例如殺毒軟體等。

閱讀全文

與vs編譯時系統資源不足相關的資料

熱點內容
雲上伺服器貴州 瀏覽:643
qq三國怎麼使用雲伺服器 瀏覽:296
一鍵加密字體怎麼設置 瀏覽:141
majority演算法 瀏覽:818
如何開啟電腦的dlna伺服器 瀏覽:7
3提成怎麼演算法 瀏覽:970
php是不是解釋性語言 瀏覽:23
手機設置遠程定位伺服器地址 瀏覽:913
android模擬器裝apk 瀏覽:773
炒黃金app哪個好用 瀏覽:993
恐懼症app哪個最好用 瀏覽:288
億賽通加密軟體好用嗎 瀏覽:578
為什麼光遇排隊伺服器忙 瀏覽:826
哪個app能把手p瘦 瀏覽:253
java中的date類型 瀏覽:431
面向程序員的范疇論 瀏覽:57
如何查詢伺服器所有電腦名 瀏覽:902
shell命令jar 瀏覽:301
有什麼做手帳app 瀏覽:156
phpjquery源碼 瀏覽:886