2013-02-19 39 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

相關問題