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?
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
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.