Compiler sucht nicht, sondern setzt Pfade zusammen
Hallo Peter,
vor dem schlafen wollte ich doch noch mal was ausprobieren und es hat geklappt.
Bei der ganzen Ersetzerrei wurde offensichlich, dass es wohl nur darum geht, das der Compiler die Header nicht findet.
321 31 C:\Program
Files\boost\boost32bit_1_51\boost\smart_ptr\detail\shared_count
.hpp [Error] expected ‚,‘ or ‚…‘ before ‚&&‘ token
Dies ist aber ein Syntaxfehler!
Ja, aber wohl eine Folge meiner Ersetzungsbemühungen.
Bisher hatte ich ja mit dem Verzeichnis
C:\Program Files\boost\boost32bit_1_51\boost\
hantiert und nicht
mit
C:\Program Files\boost\boost32bit_1_51\
und das alleine war der Fehler.
Irgendwie hatte ich durch meine vorigen Versuche mit dem Path (Umgebungsvariable) daran geglaubt (inuitiv, wenig durchdacht),
dass
dieses boost wie eine Konstante zu handhaben wäre die dann ersetzt wird.
Hätte ich dabei eher an sowas wie DocumentRoot (wie bei Webseiten) und relativer Verlinkung gedacht, wäre es mir gelich aufgefallen.
In Ersetzungen zu denken war der falsche Ansatz. Nein es ist einfach sowas wie der Root Folder.
Ich weiss nicht genau, wie das mit den directories funktioniert die man dem Compiler mit angibt.
Eigentlich dachte ich er durchsucht die Ordner nach Header, wenn er Sie im Porjekt - Ordner oder sonstwo nicht gefunden hat.
Daher schien mir es nicht so wichtig wie der Pfad genau ist.
Hauptsache die Header sind dort drin zu finden (waren sie ja auch), nur hat der Compiler sie trotzdem nicht gefunden, weil er ja nicht wirklch sucht, sondern nur den Pfad anbaut.
Aber da würde ich lieber mal nicht von Suchen sprechen (so wie man es von sich selbst kennt wenn man Dateien ab einem Ordner inklusive Unterordnern sucht).
Tja. Es musste nicht ein Ordner zu den Headern, sondern zu der Include Angabe unter den „Projekt Options“ angegeben werden.
Mit anderen Worten bzw. konkreter:
Damit hier
#include
funktioniert
bedurfte es unter DEC++„Projekt Options“ > Directories > Include Directories
NICHT
C:\Program Files\boost\boost_1_51\boost\
(ebenso sinnlos war es diesen Pfad an anderen Directorie - Samelstellen der IDE einzugeben).
Dies führte zu
#include
und nicht (was richtig ist)
#include
Das war der ganze Fehler. Die Denkweise, der Compiler würde ähnlich wie in einer grossen Bibliothek nach einem Buch gesucht wird einfach die Header-Dateien in einerm Pfad (inklusive Unterordner) suchen.
Weit gefehlt. Er setzt einfach die Pfade zusammen.
Weil man in der IDE an mehreren Stellen Pfadangaben machen konnte und zu BOOST etliche Anleitungen im Web sind, dieses Projekt so gross ist, dachte ich nciht an einen soooo einfachen Fehler. Naja. Hat etliche Wochen gedauert. Wie grausam !
Danke.
Deine sonsigen Erläuterungen, werde ich mir noch mal genauer Anschauen. Danke.