amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > GCC AmigaDOS Pfad Problem [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2005-09-21, 12:34 h

geit
Posts: 332
[Former member]

Ich hatte diese Frage schon mal anderweitig gestellt, aber keine echte Lösung für das Problem bekommen.

Ein Library-Source sieht so aus:

version.h
library.c
library.h
functions1/a.c
functions1/a.h
functions2/b.c
functions2/b.h

Das Problem ist, dass jetzt z.B b.h "library.h" includen muß. Das hab ich via
#include "/library.h" gemacht und das funktioniert mit VBCC auch wie gewünscht.

Mit GCC bekomme ich:
library/a.c:4: /library.h: Device not configured

Ich habe in den ixprefs den Schalter "translate /" aktiviert, aber das macht
keinen Unterschied.

Gibt es eine Möglichkeit GCC dazu zu bewegen den Kram relativ zu sehen?

Mit -I das Basisverzeichnis zu definieren ist keine gute Lösung. Das Absolute
definieren von den Includes leider auch nicht.

Alle Dateien in ein Verzeichniss zu werfen macht den Kram nur sehr unleserlich,
da die Funktionen nach Funktionsgruppen sortiert sind, die nichts miteinander
zu tun haben.

Ich bin für jede Hilfe dankbar.

Geit

[ - Answer - Quote - Direct link - ]

2005-09-21, 13:03 h

tokai
Posts: 1071
User
@geit:

#include "../library.h"

sollte funktionieren. Allerdings ist die sauberere Lösung per -I den includepfad im makefile zu definieren, IMHO.

regards,
tokai
--
http://www.christianrosentreter.com ~ MorphOS Software

[ - Answer - Quote - Direct link - ]

2005-09-21, 13:25 h

geit
Posts: 332
[Former member]
Zitat:
Original von tokai:
@geit:

#include "../library.h"

sollte funktionieren. Allerdings ist die sauberere Lösung per -I den includepfad im makefile zu definieren, IMHO.


Das mit den ".." würde aber wieder VBCC zerreißen. Die -I Option ist dann aber global und ich muß aufpassen nicht Dateien doppelt zu benennen.

Geit

[ - Answer - Quote - Direct link - ]

2005-09-21, 13:52 h

gni
Posts: 1106
User
Zitat:
geit:
Zitat:
tokai:
#include "../library.h"

sollte funktionieren. Allerdings ist die sauberere Lösung per -I den includepfad im makefile zu definieren, IMHO.


Dem muß ich zu stimmen. Pfadangaben in #include-Anweisungen machen genau die dargelegten Probleme. In diesem Falle könnte ein UN*X-Patch helfen, zb. DOSPrefs.
Zitat:
Das mit den ".." würde aber wieder VBCC zerreißen. Die -I Option ist dann aber global und ich muß aufpassen nicht Dateien doppelt zu benennen.
Deswegen sollte man gemeinsame Includes auch nur an einer Stelle haben.

[ - Answer - Quote - Direct link - ]

2005-09-21, 15:47 h

geit
Posts: 332
[Former member]
Zitat:
Original von gni:
Zitat:
geit:
Zitat:
tokai:
#include "../library.h"

sollte funktionieren. Allerdings ist die sauberere Lösung per -I den includepfad im makefile zu definieren, IMHO.


Dem muß ich zu stimmen. Pfadangaben in #include-Anweisungen machen genau die dargelegten Probleme. In diesem Falle könnte ein UN*X-Patch helfen, zb. DOSPrefs.
Zitat:
Das mit den ".." würde aber wieder VBCC zerreißen. Die -I Option ist dann aber global und ich muß aufpassen nicht Dateien doppelt zu benennen.
Deswegen sollte man gemeinsame Includes auch nur an einer Stelle haben.

DOSPrefs ist die ideale Lösung! Danke!

Das Problem bei -I sind nicht die gemeinsamen Includes, sondern die allgemeinen. Wenn ich mit -I einen Pfad hinzufüge, dann findet er auch u.u. ein library.h, das ganz woanders in den Headern liegt. Da sucht man dann nach dem Fehler.

Ich müßte die Dateien für jedes Project umbenennen und das macht nur Arbeit.

Dank DosPrefs liegen alle Dateien in einem Verzeichnis.

Geit

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > GCC AmigaDOS Pfad Problem [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.