webentwicklung-frage-antwort-db.com.de

Visual Studio 2012: 'opencv2/opencv.hpp': Keine Datei oder Verzeichnis (C1083)

Diese Frage wurde mehrmals gestellt. Es gibt einige Antworten. Dieses Problem ist jedoch spezifischer. Der zusätzliche Verzeichnispfad ist richtig festgelegt (Dateien werden gefunden). 

Trotzdem bekomme ich beim Bau meines Projekts die folgende Fehlermeldung:

 fatal error C1083: Cannot open include file: 
 'opencv2/opencv.hpp': No such file or directory

aber ich kann mit der rechten Maustaste auf die Datei klicken und sie in Visual Studio 2012 öffnen?

File can be found without a problem

Ich habe es versucht:

1) Angabe des vollständigen Pfads: WORKS!

#include <D:\frameworks\opencv_2_4\build\include\opencv2\opencv.hpp>

2) Die Datei in C:\setzen funktioniert nicht! (add. verzeichnisse hinzugefügt)

3) Leeres Projekt mit derselben Include-Syntax. (Add. Verzeichnisse hinzugefügt). FUNKTIONEN!

4) Ich habe eine VS2010-Version desselben Projekts mit CMake konfiguriert, und ich habe dort die gleichen Probleme.

Irgendwelche Hinweise, was diesen Fehler verursachen könnte? 

9
user1767754

Öffnen Sie Konfigurationseigenschaften> C/C + +> Allgemein, und bearbeiten Sie das Feld Weitere Include-Verzeichnisse zum Hinzufügen von Diesen 3 Pfaden (für die Kopfzeilen): C:\OpenCV2.3\build\include\opencv C:\OpenCV2.3\build\include \opencv2 C:\OpenCV2.3\build\include

8

In meinem Fall hatte das Problem mit exportierten Klassen zu tun.

Ich habe 2 VS-Projekte. Nennen wir sie A und B . Projekt A verwendet Klassen aus Projekt B; und Projekt B verwendet Klassen von OpenCV . Projekt A hat OpenCV nicht verwendet. (Wie Sie sich vorstellen können, verwendet Projekt A openCV über Projekt B).

Wenn jedoch eine der exportierten Klassen von B (von A verwendet) ein privates Mitglied vom Typ OpenCV (beispielsweise cv :: Mat) hatte, trat in diesem Fall der Fehler C1083 auf, obwohl ich openCV in Projekt B korrekt verknüpft hatte.

Meine Lösung bestand darin, mit den Includes in den * .hpp-Dateien der exportierten Klassen von Projekt B vorsichtig zu sein.

Ich hoffe es ist nützlich.

1
S. Huerta

projekteigenschaft => C/C++ => Allgemein => Zusätzliche Include-Verzeichnisse => "Fügen Sie die Adresse der Bibliothek aus Ihrem openCV-Ordner ein, z. B. C:\opencv\build\include enter image description here

1
hab

Neben den vorhandenen Antworten. Versuche zu ändern 

<opencv2/core.hpp> 

zu 

"opencv2/core.hpp". 
1
CalaveraLoco

da ich mit dem 64-Bit-Fenster 10 von Visual Studio Professional 2017 arbeite, folge ich dem folgenden Schritt:

  1. Projekt> Eigenschaften -> Plattform in x64 ändern

  2. projekteigenschaft> C/C++ -> Allgemein -> Zusätzliche Include-Verzeichnisse -> {DIR} {PATH}\opencv\opencv\build\include

  3. projekteigenschaft> C/C++ -> Alle Optionen -> Zusätzliche Include-Verzeichnisse -> {DIR} {PATH}\opencv\opencv\build\include

  4. projekteigenschaft> Linker -> Eingabe -> Zusätzliche Abhängigkeiten -> Bearbeiten .. -> Geben Sie 'opencv_world330d.lib' ein -> OK -> OK 

0
mya

das ist lustig, aber es scheint, dass Visual Studio die Dateien mit den Kopfzeilen nicht finden kann, nur weil es den Opencv2-Ordner im Opencv2-Ordner nicht gibt 

#include <opencv2/core/core.hpp>

und nach dem Speicherort der Include-Verzeichnisse 

$ (OPENCV_DIR)\build\include\opencv2

er wird versuchen, einige zu finden 

$ (OPENCV_DIR)\build\include\opencv2\opencv2\core\core.hpp

was er nie finden wird, nur weil das Basisverzeichnis nicht übereinstimmt

um dieses Problem zu lösen, löschen Sie einfach das Basisverzeichnis (opencv2) aus der Include-Direktive:.

#include <core.hpp>

ich hoffe das wird helfen

0
jihed gasmi

Wenn Sie die Header in Ihr Projekt einfügen. Als @ CalaveraLocos Antwort. Konnte den relativen Pfad verwenden, um auf den Header zuzugreifen.

Es ist jedoch besser, den Projektordnerpfad in die Projekteinstellungen aufzunehmen.

  1. Öffnen Sie Properties des Projekts.
  2. C/C++ auswählen
  3. General auswählen
  4. Hinzufügen von $(ProjectDir); in Addition Include Directories
0
Jiu

Sie müssen Projekt> Eigenschaften -> Plattform in x64 ändern und die Ordner bin, lib und include erneut festlegen.

Danach müssen Sie auch die Registerkarte "Lösungsplattformen" von x86 auf x64 ändern.

Danach können Sie OpenCV verwenden.

0
jok23