2013-07-27 13 views
6

Witam Mam wbudowany projekt C i wszystkie podstawowe biblioteki C są przechowywane w zewnętrznym folderze (nie w obszarze roboczym). mogę skompilować ponieważ kompilator wie, gdzie szukać tych plików, ale Eclipse nie wie, że istnieją te pliki i dostaję komunikaty o błędach: enter image description hereEclipse Kepler CDT zawiera zewnętrzne pliki nagłówkowe/Dodaj rekurencyjnie zewnętrzną ścieżkę (z podfolderami)

mogę ręcznie dodać jeden folder z: rightClickOnProject->Properties->C/C++ Include Paths and Symbols -> Add External Include Path

Na przykład <stdint.h> plik znajduje się w folderze C:\embARM7\yagarto\arm-elf\include więc wykonać następujące czynności:

enter image description here

To rozwiązuje znacznik błędu Eclipse dla <stdint.h>

ale plik <stdio.h> znajduje się w folderze C:\embARM7\yagarto\arm-elf\include\sys i muszę zrobić jeszcze raz cały proces:

enter image description here

Teraz następny plik nagłówka znajduje się w C:\embARM7\yagarto\arm-elf\include\machine i tak dalej i tak dalej. ...

Moje pytanie brzmi: Czy istnieje sposób dodania zewnętrznej ścieżki dostępu do WSZYSTKICH podfolderów? Rodzaj "dodaj ten folder i wszystkie podfoldery"/"dodaj ten folder rekurencyjnie". Podobnie jak C:\embARM7\yagarto\arm-elf\include\*, więc nie muszę ręcznie dodawać każdego folderu w strukturze folderów. W przypadku jednego projektu jest to 5 minut, ale muszę to zrobić w przypadku 10 projektów i ten rodzaj pracy jest do dupy.

Dzięki

+0

mam te same problemy z bardzo powszechne: 'C:/xxx/Cygwin/usr/include' gdzie wszystkie wewnętrzne katalogi, takie jak' libxml2' nie zostały uwzględnione. Brak rozwiązania. – Alex

Odpowiedz

1

nie znalazłem takiej opcji ani w Eclipse 3.7-4.3 ani w MS VS2012. Najwyraźniej rozwiązaniem jest napisanie skryptu w dowolnym języku, który wygenerowałby ścieżkę rekursywną.

W programie Eclipse można zapisać plik .xml z ustawieniami projektu, a następnie zaimportować go (Właściwości projektu -> Ogólne C/C++ -> Ścieżki i symbole -> Ustawienia importu ...). Aby zorientować się w strukturze tego pliku, zacznij od eksportowania swoich bieżących ustawień projektu.

6

Podczas próby dodania zestawu zewnętrznych nagłówków do mojego projektu natknąłem się na ten sam problem. Zamiast używać ścieżek i symboli w oknie Właściwości projektu, dodałem do mojego projektu link do katalogu głównego, który zawiera wszystkie zewnętrzne nagłówki w swoim podkatalogu. Oto jak to zrobić:

  1. rightClickOnProject->New->Folder,
  2. Kliknij Advanced przycisku w oknie dialogowym New Folder,
  3. wybrać Link to alternate location pole opcji,
  4. Browse do głównego katalogu zawierającego wszystkie nagłówki, i
  5. Naciśnij przycisk Finish.

Cheers

+0

Problem z tym podejściem polega na tym, że jeśli w folderze linku znajdują się pliki, które mają niezmienione zależności, najpierw musisz rozwiązać te zależności, aby kontynuować rozwój bez względu na to, czy potrzebujesz tych plików. Przykład, jeśli w folderze linku znajduje się plik nagłówkowy "header1.h" zawierający inny plik nagłówkowy "header2.h", to należy się upewnić, że nagłówek2.h jest dostępny niezależnie od tego, czy w nagłówku znajduje się plik header1.h, czy nie. plik. Myślę, że program Eclipse analizuje wszystkie pliki znajdujące się w folderze łącza. Nie dzieje się tak w przypadku korzystania z Zewnętrznej Ścieżki - Włącz. – infoclogged