我有一個C++解決方案的集合。它們都包含一個通用代碼目錄。 不只是#include
,但它們也分別構建通用源文件。這裏的目錄結構的一個例子:如何讓項目共享中間文件(.obj)?
code/
Common/
ProjectA/
ProjectB/
所以ProjectA
和ProjectB
無論從Common
包括文件。我已將這兩個項目的中間目錄設置爲code/_build/Debug/Obj
。
我原本以爲如果我先建立了ProjectA
,那麼ProjectB
就不需要從Common
源碼重建中間文件。這沒有發生。 ProjectB
正在重建這些目標文件,如果我再次構建ProjectA
,它也會重建它們。
就好像如果目標文件不是由當前正在編譯的項目生成的,就會觸發條件重建。這是真的?
我知道我可以用通用代碼創建一個庫,但這不是一個選項。
爲什麼創建*共享庫*不是選項?將創建一個*靜態*庫是一個選項? – 2012-07-25 03:43:15
我對代碼沒有太多的所有權。改變一些配置選項是可以的,但是從每個項目中刪除公共代碼並鏈接到一個庫可能會比它的價值更麻煩。 – Anthony 2012-07-25 03:46:06
聽起來像你有更大的問題:) – leppie 2012-07-25 03:49:09