出錯總有原因 之 僅有第一次編譯不成功

2021-06-20 09:57:12 字數 572 閱讀 5184

新人入職,取下專案**,開啟vsts2010, 編譯整個solution,第一次編譯不成功,提示link錯誤,某個lib未找到。但這個問題在其他開發機器上並沒有出現過。在第一次編譯的基礎上再次編譯,成功了。

檢查第一次編譯出錯的日誌,發現出錯的dll依賴於提示的library,這個library是在dll之前編譯的,這個順序是沒錯的。但是從日誌中可以看到,原來是由於並行編譯引起的。根據依賴關係,被依賴的library先編譯,但是由於並行編譯的設定,dll也在稍後開始編譯,那麼如果dll的編譯程序執行速度足夠快,在鏈結之前可能對應的library還沒有編譯成功,這樣就會出現這個問題了。

一般而言,在開發機器上,這不能算是個問題,因為第二次編譯過程中仍然會成功的。

如果是專門做安裝包的機器,還是有必要設定一下的。就在選單tools-->options-->projects and solutions-->build and run下面,可以指定「maximum number of parallel project builds」,如果指定為1,那麼就不會有並行編譯了。

當然,如果一直只有乙個編譯過程進行仍然出現類似的鏈結錯誤的話,就要仔細檢查依賴關係是否正確啦!

第一次說「不」

很少以 鬱悶 兩個字開頭在寫博克,雖然生活在很多時候都是很dim的。以前在同學們中都說我能說會道,其實不是這樣的。因為我發現我居然連乙個 不 字都不會說。記 得前段時間臨近畢業設計時間段,我的乙個平時不怎麼聯絡的高中同學託了很多人,終於聯絡上我了,叫我幫他做畢業設計的專案。然而那段時間正逢我白天又要...

第一次編譯ffmpeg

今天開始玩ffmpeg了。下面就是實時記錄的隨筆 不要再問為什麼不用git,因為還不會 解壓之後是個資料夾 ffmpeg 2.8,裡面全是熟悉的sourcecode。然後我還看到了 mak檔案,開啟方式是vs2013。於是我就興高采烈的雙擊開啟,公升級專案,然後當然是彈出失敗提示了,果然開啟方式不對...

第一次編譯模組總結

1 模組 c include include include module license dual bsd gpl static int hello init void static void hello exit void module init hello init module exit h...