amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > GCC AmigaDOS Pfad Problem [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

21.09.2005, 12:34 Uhr

geit
Posts: 332
[Ex-Mitglied]

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

[ - Antworten - Zitieren - Direktlink - ]

21.09.2005, 13:03 Uhr

tokai
Posts: 1071
Nutzer
@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

[ - Antworten - Zitieren - Direktlink - ]

21.09.2005, 13:25 Uhr

geit
Posts: 332
[Ex-Mitglied]
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

[ - Antworten - Zitieren - Direktlink - ]

21.09.2005, 13:52 Uhr

gni
Posts: 1106
Nutzer
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.

[ - Antworten - Zitieren - Direktlink - ]

21.09.2005, 15:47 Uhr

geit
Posts: 332
[Ex-Mitglied]
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

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > GCC AmigaDOS Pfad Problem [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.