我試圖將一個C項目導入由waf管理的eclipse(CDT)。有一個由waf生成的預定義列表(當運行./waf configure
時)。該列表必須導入到Project->Properties->C/C++ General/Paths and Symbols/Symbols/GNU C
,以便索引器知道它們並且不會打印錯誤。該列表(使用GUI時)存儲到.cproject
文件中。我創建了一個構建目標,運行./waf configure
並將列表存儲到名爲DEFINES.txt
的文件中。運行構建目標後,如何自動更新.cproject
的列表,其值爲DEFINES.txt
?如何在運行構建目標之後向.cproject文件添加預定義
我想到了以下的解決方案及其後續問題:
- 解決方案:編寫一個插件。
問題:什麼是合適的擴展點? - 解決方案:編寫一個調用
./waf configure
的外部程序讀取DEFINES.txt
並將列表寫入.cproject
。該程序取代了舊的Build Target。
問題:這有多安全?我是否允許通過外部程序更改.cproject
文件,而不會造成任何問題? - 解決方案:在
wscript
文件中實現.cproject
更新算法。
問題:對我來說這不是一個解決方案,因爲其他人也使用該項目,而不使用eclipse作爲IDE。所以如果其他開發人員想要構建項目,修改後的wscript
會導致錯誤。
有沒有人有更好的想法或建議?