kompilieren opencv 2.4 auf einem 64-Bit-Mac in Xcode

8

Ich habe ein opencv-Projekt, das ich unter ubuntu 12.04 auf einer Parellels-VM auf einem Mac mit x86_64-Architektur entwickelt habe. Es gab viele Probleme bei der Bildschirmumschaltung, von denen ich glaube, dass sie auf die VM zurückzuführen sind, bei der Linux-Videomodi einige Sekunden lang umkehren, während der Kamerazugriff durch die opencv-Anwendung erfolgt. Ich entschied, das Projekt in Xcode auf der Mac-Seite des Computers zu verschieben, um die OpenCV-Entwicklung fortzusetzen. Allerdings bin ich mit xcode nicht so vertraut und habe Probleme, das Projekt korrekt zu erstellen.

Ich habe xcode installiert. Ich heruntergeladen und dekomprimiert die neueste Version von opencv auf dem Mac, und lief: ~ / src / opencv / build / cmake-gui -G Xcode .. nach den Anweisungen von Willowgarage und verschiedenen anderen Orten. Dies schien gut zu funktionieren (aber ich frage mich jetzt, ob ich hier eine Architektureinstellung verpasse, obwohl es in Xcode 64-Bit-Intel ist). Ich habe dann ein xcode-Projekt mit den Quelldateien aus dem Linux-Projekt eingerichtet und die Include-Verzeichnisse so geändert, dass / opt / local / include / ... statt / usr / local / include / ... verwendet wurde. Ich wechselte xcode, um den LLVM GCC Compiler in den Erstellungseinstellungen für das Projekt zu verwenden Setzen Sie dann den Apple LLVM-Dialog für C ++ auf Sprachdialekt mit GNU ++ 11 (was möglicherweise nicht mit der obigen Zeile übereinstimmt)

Ich benutze kein Makefile in xcode, (das ist mir bekannt - es hat eine eigene Projektdatei ...)

Ich stieß auch auf ein Linker-Problem, das so aussieht, als könnten sie durch das Hinzufügen dieses Linker-Flags gelöst werden:

%Vor%

basierend auf einem ähnlichen Beitrag hier: anderer Thread In diesem Fall verwendete die Person jedoch ein Makefile in ihrem Projekt.

Ich habe versucht, dieses Linker-Flag unter "Other Linker Flags" in den xcode-Build-Einstellungen hinzuzufügen, aber Build-Fehler zu erhalten.
Ich denke, ich habe hier zwei Probleme, eine mit den Architektureinstellungen beim Erstellen der opencv-Bibliotheken mit Cmake und eine mit den Linker-Flag-Einstellungen in meinem Projekt.

Momentan sieht die Erstellungsfehlerliste wie folgt aus:

%Vor%

Kann jemand eine Anleitung geben, was als nächstes zu versuchen ist?

Danke, Walt

    
Walt 13.03.2013, 14:07
quelle

1 Antwort

15

Schritte zum Kompilieren und Ausführen von C ++ opencv 2.4.4 auf Mac OS X 10.7.5 mit cmake 2.8.10 und xcode 4.6.1 EDIT: erfolgreich getestet mit opencv 2.4.5 auf Mac OS X Berglöwe 10.8.3 und Xcode 4.5

Mit den richtigen Tools

  1. lade opencv-unix von Ссылка herunter und entpacke es wo auch immer
  2. download cmake .dmg von Ссылка und installiere es
  3. Ich gehe davon aus, dass Sie xcode 4.6 auf os x lion haben, das den ios sdk 6.1
  4. enthält
  5. Gehen Sie zu den xcode-Einstellungen, um die Befehlszeilentools herunterzuladen und zu installieren, so dass Sie g ++ usw. haben.

Verwenden Sie cmake, um opencv zu kompilieren

  1. gehe zum extrahierten opencv Ordner
  2. Erstellen Sie ein Build-Verzeichnis

    %Vor%
  3. aus dem Build-Ordner, gehen Sie zu bin / und führen Sie einen der Tests

    aus %Vor%

Erstellen Sie Ihr eigenes C ++ opencv xcode-Projekt

  1. starte xcode und erstelle ein neues xcode-Projekt
  2. Wählen Sie das Befehlszeilentool für den Projekttyp unter os x
  3. Öffnen Sie die Build-Einstellungen Ihres Projekts
  4. unter Architectures setzen Sie Architecture auf 64-Bit-Intel. setzen Sie auch gültige Architekturen auf x86_64
  5. Setzen Sie unter Buildoptionen den Compiler für C / C ++ auf den Standardcompiler
  6. Unter Suchpfade legen Sie Header-Suchpfade auf / usr / local / include
  7. fest
  8. Stellen Sie unter Suchpfade auch Bibliothekssuchpfade nach / usr / local / lib
  9. ein
  10. unter Apple LLVM-Compiler 4.2 - Sprachensatz C ++ - Standardbibliothek zu libstd ++ (Mit OpenCV 2.4.6, Xcode 5, LLVM 5.0 und 10.8.5, stellen Sie beide Sprachen Dialekt und Std-Bibliothek auf "Compiler-Standard" statt)

Fügen Sie Ihrem Projekt die kompilierten opencv-Bibliotheken hinzu

  1. Gehen Sie zum Tab "Build Phases" neben dem Tab "Build Settings", in dem Sie sich befanden
  2. in Link Binary mit Bibliotheken, klicken Sie auf das + -Zeichen und wählen Sie Anderes
  3. hinzufügen
  4. drücke den Schrägstrich / auf deiner Tastatur und gib / usr / local / lib
  5. ein
  6. drücken Sie die Eingabetaste und wählen Sie die Bibliotheken aus, die Sie in Ihrem Projekt verwenden möchten
  7. stelle sicher, dass du immer libopencv_core.2.4.4.dylib
  8. auswählst
  9. drücken Sie Enter und Sie sehen die ausgewählten Dylibs unter Ihrem Projekt

Schreiben Sie einen Code

    Mit
  1. können Sie zuerst die Dateien organisieren, klicken Sie mit der rechten Maustaste auf Ihr Projektplansymbol und wählen Sie Neue Gruppe
  2. Benenne die neue Gruppe opencv oder was auch immer
  3. Ziehen Sie die Dylibs und legen Sie sie in diese Gruppe
  4. öffne main.cpp
  5. Kopieren Sie Code aus einem der Beispieltests, die mit opencv geliefert wurden, und fügen Sie ihn hier ein
  6. Stellen Sie sicher, dass alle erforderlichen Dylibs hinzugefügt wurden. Wenn Sie beispielsweise den Code opencv_test_stitching.cpp in main.cpp kopiert haben, müssen Sie die folgenden Bibliotheken in den vorherigen Schritten hinzufügen

    • libopencv_core.2.4.4.dylib
    • libopencv_highgui.2.4.4.dylib
    • libopencv_stitching.2.4.4.dylib

Prost.

    
moubarak 27.03.2013, 15:28
quelle

Tags und Links