C++ Visual Studio: C++ include <> ""

"" bedeutet, dass die Dateien relativ zur Datei, in der das include steht, liegen sollen.
<> bedeutet, dass sie "aus dem System" kommen, also an systemweit definierten Pfaden liegen. Du musst also in den Eigenschaften deines VS-Projekts den include-Pfad entsprechend erweitern.
 
VS sollte auch <config.h> finden wenn sie existiert. Ob "" oder <> definiert eigentlich nur die Suchstrategie:

"" - Erst in den Projekt Include-Verzeichnissen suchen danach in den systemweiten Include-Verzeichnissen
<> - Erst in den systemweiten Include-Verzeichnissen suchen danach auf Projektebene.

Was ist denn die genaue Fehlermeldung?
 
Nee, das kann nicht sein.

Die <> Klammern sind System und Library Dateien:

Wie z.B gerade im meinem Projekt:

#include <qvector.h> //Qt Klasse
#include "qthread.h" // Meine Datei
#include <Windows.h> // WIN32 API

Wenn eine Datei nicht gefunden wird, dann existiert Sie im Suchpfad nicht!
Vieleicht sind deine Projektsettings nicht richtig.

In VsS 2008 stehts unter:
 

Anhänge

  • VS.jpeg
    VS.jpeg
    154,8 KB · Aufrufe: 187
Also das erste Problem ist gelöst :-)

Nun zum zweitem Problem / Frage:

Ich möchte die Code von http://www.openssl.org einbinden.
Die nötigen Dateien findet man nach dem Entpacken unter "\openssl-1.0.0d.tar\openssl-1.0.0d\openssl-1.0.0d\include".
In diesem Ordner sind viele *.h Dateien. Diese Headerdateien verweisen dann auf andere Dateien. Zum Beispiel hat die Datei "ssl.h" nur eine Zeile als Code:

Aber die Datei "ssl.h" hat für Visual Studio einen Fehler: Syntaxfehler: '.'
Wenn ich aber den Inhalt dieser Datei durch
#include "./../../ssl/ssl.h"
ändere, dann ist für Visual Studio alles ok.

Kann man Visual Studio auch so einstellen, dass er auch die erste Variante akzeptiert?
 
Die Datei hat wirklich sprichwörtlich den Inhalt ../../ssl/ssl.h?? Das sieht für mich fast so aus, als wäre da ein UNIX soft link falsch interpretiert worden (der Verweispfad wird als Dateiinhalt interpretiert).

Kannst du zur Überprüfung mal von dem Verzeichnis aus, in dem diese ssl.h Datei liegt, 2 Ebenen höher gehen und dann ins ssl-Verzeichnis absteigen und schauen, ob dort eine ssl.h Datei liegt?


P.S. Hast du dir mal die Datei \openssl-1.0.0d\INSTALL.W32 durchgelesen? Einfach nur Entpacken und dann los scheint da nicht so ohne weiteres drin zu sein.
 
Zuletzt bearbeitet:
Zurück
Oben