我试图将一个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
会导致错误。
有没有人有更好的想法或建议?