我正在尝试使用Eclipse CDT 3.8中的Soclib(www.soclib.fr),但是代码错误荧光笔(分析器,无论什么叫做)都没有看到大量的包含文件。编译不是问题,因为Makefile调用了一个处理依赖项等的python脚本,但是我希望Eclipse CDT很有用,并告诉我我是否做错了。
我尝试将所有包含的根文件夹作为单独的文件夹添加到工作台中,然后将其添加到右键单击项目 - >属性 - > C / C ++一般 - >路径和符号作为文件夹从工作区。它不起作用。 如果我在同一个地方尝试它的根文件夹,它不起作用(Eclipse不会递归地处理这个文件夹,所以这里的条目需要是树的一个叶子。)
它可以工作的一种方法是创建一个python / bash脚本,该脚本将通过树并使用.h或.hpp文件创建所有结束叶的列表,然后将该列表导入Eclipse。有更智能/更简单的方法吗?
提前致谢!
答案 0 :(得分:1)
最后,我制作了一个python脚本,创建了一个导入Eclipse的XML文件:
import os
list = os.popen('find . -type d').read()
fd = list.split('\n')
fd.pop()
d = '/home/milos/soclib'
OutputFile = open('symbols.xml', 'w')
OutputFile.write('<?xml version="1.0" encoding="UTF-8"?>')
OutputFile.write ('<cdtprojectproperties>\n')
OutputFile.write ('<section name="org.eclipse.cdt.internal.ui.wizards.settingswizards.IncludePaths">\n')
OutputFile.write ('<language name="C++ Source File">\n')
for f in fd:
if 'include' in f:
if not '.svn' in f:
if not 'platform' in f:
OutputFile.write('<includepath>' + d + f[1:] + '</includepath>' + '\n')
OutputFile.write('</language>\n')
OutputFile.write('<section>\n')
OutputFile.write('<cdtprojectproperties>\n')
OutputFile.close()
我只是在模拟器的根文件夹中运行此脚本并获取我需要的所有包含文件夹,然后将其导入Eclipse
答案 1 :(得分:0)
根据之前的回答,我已经制作了一个方便的Python脚本来为Eclipse生成C和C ++的XML文件。随意使用它。