2013-04-26 36 views
5

Opracowałem bardzo prostą aplikację, używając openCV dla IOS. Działało, dopóki nie zdecydowałem się użyć kodu w innym projekcie. Dostaję to ARMv7 błąd i nie widzę, gdzie jest problem (proszę zobaczyć ostatni obraz)"Niezdefiniowane symbole dla architektury armv7" podczas importowania BIBLIOTEKI STATYCZNEJ zawierającej funkcje OPENCV

stworzyłem statyczny plik lib mojego kodu roboczego, który ma następujące informacje ARCHITEKTURA: lib architecture

niż Skompilowałem go w pliku * .a i dodaje dyOpenCv.a i jedno z DyOpenCV.h plików do mojego głównego projektu, który ma następujące informacje aRCHITEKTURA: Project architecture

ale gdy próbuję użyj metody w pliku nagłówkowym (DyOpenCV.h), pojawia się następujący błąd: armv7 error

jakieś pomysły co to może być?

+0

Są one powiązanie problemów. Upewnij się, że twój projekt jest połączony z bibliotekami, które implementują te symbole. – karlphillip

Odpowiedz

10

Były dwie kwestie związane z bibliotekami łączących:

  1. Po pierwsze, chociaż mój podprojektem miał opencv2.framework poprawnie dodany i powiązany z nim, miałem też dodać te ramy do mojego główny projekt. W ten sposób pozbyłem się problemów z połączeniem cv :: * łączących ;

  2. Drugi problem był związany z moją konfiguracją krzyżowania kompilatora Objective-C++. Kiedy używałem biblioteki libC++ jako mojej Standard Library, dodałem -lC++ do mojego innych flag łącznika. Jeśli używasz biblioteki libstdC++ jako biblioteki standardowej, powinieneś dodać -lstdC++ zamiast tego.

Po tym, działało idealnie. Chociaż zdarzały się wycieki pamięci dbać o =)

Wiwaty,

2

Myślę, że to dlatego, że projekt ur nie łączy się ze środowiskiem wykonawczym C++.

Spróbuj dodać bibliotekę libC++. Dylib do połączonych bibliotek.