Forum: PC-Programmierung [Debian Linux] Includepfad erweitern für gcc


von Peter (Gast)


Lesenswert?

Ich will unter Debian eine cpp-Datei kompilieren. Diese enthält #include 
"opencv2/core/core.hpp". Das kann cpp nicht finden. Wie teile ich gcc 
mit, wo sich opencv2/core/core.hpp befindet ohne es immer wieder in der 
Befehlszeile eingeben zu müssen?

von Max .. (mv1)


Lesenswert?

Den Suchpfad des Präprozessors zu ändern ist eher unüblich.

Welche Pfade standardmäßig durchsucht werden, kannst Du mit cpp -v < 
/dev/null herausfinden.

Eine Lösung wäre, Deine opencv2 Header in einen der Standardpfade zu 
verschieben, beispielsweise nach /usr/local/include.

Normalerweise würde man aber eher im Makefile den Suchpfad per
CPPFLAGS += -I/path/to/headers erweitern. Wahrscheinlich willst Du dann 
auch den Suchpfad des Linkers per LDFLAGS += -L/path/to/libs erweitern.

: Bearbeitet durch User
von Peter (Gast)


Lesenswert?

Wenn ich cmake verwende um OpenCV zu bauen, gibt es einen bestimmten 
Parameter, der den richtigen Pfad festlegt oder wird das nach

cmake .
make
sudo make install

automatisch richtig sein?

von Dr. Sommer (Gast)


Lesenswert?

Peter schrieb:
> automatisch richtig sein?
Ja, falls du richtig includest:
1
#include <opencv2/core/core.hpp>
Die spitzen Klammern sagen dass der Header im Systemverzeichnis und 
nicht im Verzeichnis der .cpp Datei gesucht werden soll.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.