自己工作機(jī)在vc點(diǎn)incredibuild編譯時(shí)總是顯示fail to create process,周圍同事卻都沒(méi)問(wèn)題。這里記下解決的過(guò)程。
一、fail to create process
這個(gè)錯(cuò)誤提示,第一反應(yīng)就是用戶沒(méi)權(quán)限,查看了用戶之后,提示這個(gè)用戶就是管理員。后來(lái)各種倒騰都無(wú)果。
權(quán)限的問(wèn)題一時(shí)沒(méi)解決,想別的辦法……
試出一個(gè)辦法:點(diǎn)開(kāi)任務(wù)欄右下角的IncrediBuild Agent,右鍵選擇Build->open后打開(kāi)的Batch Build里編譯是完全沒(méi)有問(wèn)題的,沒(méi)有那個(gè)創(chuàng)建進(jìn)程失敗的問(wèn)題。
所以想,是不是因?yàn)関c的插件運(yùn)行時(shí)的編譯配置有問(wèn)題,而在Agent獨(dú)立進(jìn)程里的Batch Build里的編譯配置比較純凈(例如不用搞那個(gè)cmake之類的檢查)。
于是找到Agent開(kāi)啟Batch Build時(shí)的進(jìn)程為BatchFile.exe,但是在自己寫(xiě)的bat里單獨(dú)啟動(dòng)BatchFile,啟動(dòng)后彈出Batch Build,選擇編譯后卻也還是創(chuàng)建不了進(jìn)程錯(cuò)誤。
偶然在vc的工具欄的IncrediBuild選項(xiàng)里也發(fā)現(xiàn)了Batch Build選項(xiàng),彈出的Batch Build也是不能創(chuàng)建線程。再次掃興。
所以想,是不是因?yàn)樽鰹関c的插件和bat里啟動(dòng)運(yùn)行時(shí)沒(méi)有創(chuàng)建進(jìn)程的權(quán)限。而在Agent獨(dú)立進(jìn)程里運(yùn)行時(shí)能拿到權(quán)限?
最后某此搜什么東西,憋見(jiàn)一個(gè)說(shuō)法,“右鍵菜單win7管理員身份運(yùn)行”。如果就特么搞定了。
解決辦法大概是:win7啟動(dòng)vc時(shí)以管理員身份運(yùn)行,程序鼠標(biāo)右鍵有那個(gè)選項(xiàng)。另外也可以看看快捷方式里設(shè)置。之后從vc里load你的項(xiàng)目。更方便的是將你的vc程序,打開(kāi)屬性的兼容性標(biāo)簽,特權(quán)等級(jí)里勾上以管理員身份運(yùn)行此程序。(設(shè)置之后我在TC里不能直接雙擊啟動(dòng)**.sln,只好右鍵選擇vc來(lái)啟動(dòng))
隨后想是不是TotalCommand里起的進(jìn)程沒(méi)管理員權(quán)限,后來(lái)試了試不是這樣的……
總結(jié),我的win7用戶不是真宗的管理員,雖然控制面板里提示了是!
二、其他問(wèn)題
有時(shí)編譯完后不能自動(dòng)stop build,還得手動(dòng)點(diǎn)。
這個(gè)看看進(jìn)程管理器里好多僵死的build相關(guān)進(jìn)程,全干掉。