opencv2 / opencv.hpp Datei nicht in Xcode gefunden

7

Ich habe openCV gebaut, um opencv2.framework zu bekommen. Ich habe das zu meinem xcode iOS-Projekt hinzugefügt, indem ich zu "build phase- & gt; Link Binary with Libraries" ging und dann versuchte, "opencv2 / opencv.hpp" in mein Projekt aufzunehmen. Ich bekomme den Fehler "opencv2 / opencv.hpp" nicht gefunden. Aber die Datei existiert im Framework. Ich habe versucht, online eine Lösung zu finden, aber nichts hat für mich funktioniert.

Die Datei, in die ich sie aufnehmen möchte, ist eine .mm-Datei. Ich habe "Quellen kompilieren als" objective-c ++ gemacht. Jede Hilfe wäre großartig.

    
Anirudh GP 23.12.2015, 06:34
quelle

9 Antworten

4

Hat mich 4 Stunden gekostet, um das herauszufinden. So habe ich das zum Laufen gebracht: Zusammen mit dem opencv-Framework fügen Sie die folgenden Frameworks in den Build-Phasen hinzu:

Beschleunigen, AssetsLibrary, AVFoundation , CoreGraphics , CoreImage , CoreMedia , CoreVideo , Quarzkern , UIKit , Stiftung.

Fügen Sie dann in der .pch-Datei diese Zeilen hinzu, bevor UIKit und Foundation importiert:

%Vor%     
Anirudh GP 23.12.2015, 09:07
quelle
7

Was für mich funktionierte, war sehr einfach:

* HINWEIS DEN UNTERSCHIED FÜR IOS vs. OS X PROJEKTE

FÜR IOS:

Legen Sie den Opencv-Download (für 3.0.0 ist es nur ein Drag-and-Drop-Ding) in den projektspezifischen Xcode-Ordner. Setzen Sie dann die Rahmensuchpfade auf $ (PROJECT_DIR). Der Frame-Suchpfad befindet sich unter Build-Einstellungen . Keine anderen Pfade müssen festgelegt werden.

Klicken Sie zum Schluss mit der rechten Maustaste in den Navigationsbereich und klicken Sie auf "Dateien hinzufügen ...", um die opencv-Bibliothek aus dem Projektordner hinzuzufügen.

FÜR OSX:

Lesen Sie Tims Tutorial: Ссылка

    
N.Atanasov 03.01.2016 01:26
quelle
5

Ich löse das Problem, indem ich zu den FRAMEWORK_SEARCH_PATHS den absoluten Pfad hinzufüge, in dem ich das Framework hatte, das ich verwenden musste:

Sie sollten natürlich Ihren eigenen Weg gehen. ; -)

    
Alex Reche Martinez 06.10.2016 07:09
quelle
3

In meinem Fall wurden die symbolischen Links zu den Header-Dateien unterbrochen. Dies wurde durch das Klonen des folgenden großen Beispielprojekts verursacht:

Ссылка

Im geklonten Projekt waren die Header-Dateien nicht mehr erreichbar. Nach dem reimportieren der opencv2.framework von der offiziellen opencv ios Download-Seite ( OpenCV für iOS ), die Header waren wieder verfügbar. XCode sollte wie folgt aussehen:

Das folgende ist ein Screenshot eines Xcode-Projekts mit fehlerhaften Headern. Bei fehlerhaften Header-Dateien sieht das xcode-Projekt wie folgt aus:

    
Ekkelenkamp 12.05.2016 13:01
quelle
1

Ich habe openCV in meinem Projekt verwendet und es mit cocoapods zu implementieren war unmöglich, weil die Version der Bibliothek zu alt war, also entschied ich mich, sie als statische Bibliothek zu implementieren. Erstellen Sie einen Ordner in Ihrem Projekt und fügen Sie dort eine Bibliothek hinzu. Suchen Sie in den Build-Einstellungen den Suchpfad library und framework und fügen Sie den Link zum Ordner openCV hinzu. Es wird ohne Fehler funktionieren. Außerdem sollten Sie die openCV-Header-Datei in prefixPatch hinzufügen.

  

Weitere Einzelheiten Anleitung 100% Works:

1) Download Rahmen von der offiziellen Website: OpenCV

2) Erstellen Sie im Projektverzeichnis den folgenden Ordner: External_SDK

3) Setzen Sie das Opencv Framework in diesen Ordner und ziehen Sie es in Xcode Project (Ordner) mit der Target-Mitgliedschaft Ihrer App (nicht App_test) und ziehen Sie es dort ab.

4) Suchen Sie in Xcode Project nach yourPrefixHeaderFileName.pch und fügen Sie oben in der Datei diese Zeilen hinzu:

%Vor%

5) Danach sollten Sie importieren oder in .h -Datei einschließen, warum? weil es CPP-Bibliothek ist. Wenn Sie mit Import keywoard auf die Bibliothek zugreifen möchten, sollten Sie Folgendes tun: #import <EXAMPLE>

6) Suchen Sie in den Build-Einstellungen nach dem Suchpfad library und framework und fügen Sie einen Link zum Ordner EXTERNAL_SDK hinzu. Um Framework direkt von Ihrem Ordner zu lesen. Suchen und ändern Sie ALWAYS_SEARCH_USER_PATHS = YES Fügen Sie in HEADER_SEARCH_PATHS $ (geerbt) und / usr / include / FRAMEWORK_PATH

hinzu

Ich hoffe, diese Antwort wird jemandem helfen.

Am besten rufen Sie

an %Vor%

Nur Header-Dateien.

    
C0mrade 23.12.2015 06:47
quelle
1

Stellen Sie in Build-Einstellungen für das Ziel sicher, dass der Framework-Suchpfad im Abschnitt Suchpfade auf den korrekten Pfad zu Ihrem Framework in Ihrem Standort festgelegt ist Verzeichnis. Klicken Sie dazu rechts neben Framework Search Path in den Leerraum, klicken Sie auf das + -Zeichen und fügen Sie $ (PROJECT_DIR) hinzu, klicken Sie erneut auf + und fügen Sie $ (geerbt) hinzu. Stellen Sie sicher, dass sich das Framework in Ihrem Hauptverzeichnis für Ihr Projekt befindet. Dies funktionierte für mich, als ich auf dasselbe Problem stieß.

Hoffe, das hilft!

    
Evan Bauer 29.03.2016 22:46
quelle
0

Aus meiner Erfahrung ist es nicht notwendig, so viele andere Frameworks hinzuzufügen. Verwenden Sie stattdessen nur opencv2 und fügen Sie "#import" in prefixheader.pch

hinzu

Die Sache ist, dass die korrekten Framework-Suchpfade wie oben erwähnt gesetzt werden müssen, es sei denn, der opencv2-Framework-Ordner befindet sich in Ihrem Projektverzeichnis.

Hinweis: Legen Sie in den Framework-Suchpfaden keine falsche Position fest, da es zwei "YourProjectName" gibt. Setze die erste (gehört zu TARGETS), nicht die zweite (gehört zu PROJECT). Ich habe den Fehler gemacht.

    
Jeff 24.07.2016 09:16
quelle
0

Hier ist meine Antwort dafür.

  1. Umgebung: XCode 8.1

  2. Download-Seite: Ссылка . Wählen Sie einen Link für iOS.

  3. Wichtiger Schritt: Während Sie opencv2.framework herunterladen, müssen Sie das Format ".zip" verwenden, nicht das Format ".framework", danach entpacken Sie es in opencv2.framework. Es ist komisch, aber es sollte funktionieren. In der Zwischenzeit müssen Sie es in opencv2.framework umbenennen, wenn das entpackte nicht ist.

  4. Ziehen Sie einfach das Framework in Ihr iOS-Projekt. Keine Einstellungen sind erforderlich. Sie können dies zum Testen beziehen: www.youtube.com/watch?v=ywUBHqxwM5Q.

River Hsu 13.12.2016 07:30
quelle
0

Ich habe einige Probleme bei Target - & gt; Build Phases - & gt; Link Binary mit Bibliotheken bekommen. Als ich opencv2.framework von dort hinzufügte, wurde meine App nicht gestartet.

Stattdessen habe ich einfach das Framework unter dem Verzeichnis "Frameworks" in XCode gezogen und gezogen, und das hat funktioniert. Ich habe nichts anderes geändert.

    
quelle

Tags und Links