2013-02-19 91 views
2

我试图在Eclipse CDT 3.8中使用Soclib(www.soclib.fr),但是代码错误高亮显示器(分析器,不管叫什么)都没有看到巨大的一堆包含文件。编译不是问题,因为Makefile调用了一个处理依赖关系等的python脚本,但我希望Eclipse CDT很有用,并告诉我如果我做错了什么。在Eclipse中添加很多包含CDT路径和符号

我试图将所有包含的根文件夹作为单独的文件夹添加到工作台中,然后将其添加到右键单击项目 - >属性 - > C/C++常规 - >路径和符号作为工作区中的文件夹。它不起作用。 如果我在同一个地方尝试它的根文件夹,它不起作用(Eclipse不会以递归方式处理此文件夹,所以此处的条目需要是树的一个叶)。

它可以工作的一种方式是创建一个python/bash脚本,它将通过树并创建一个所有结束叶的列表,然后将该列表导入到Eclipse .h或.hpp文件。有没有更聪明/更简单的方法来做到这一点?

在此先感谢!

+0

看到相同的问题在http://stackoverflow.com/questions/17900370/eclipse-kepler-cdt-include-external-header-files-add-external-include-path- rec – Alex 2013-12-17 09:49:37

回答

1

最后,我做了一个创建我导入到Eclipse XML文件的Python脚本:

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中

+0

你是如何进口**的呢? – Adrian 2016-09-27 16:32:37

相关问题