2013-07-16 2 views
2

그래서 저는 3dar SDK를 사용하고 있으며 sdk와 결과 SM3Dar.h 헤더를 구현 한 독립 실행 형 응용 프로그램을 빌드하는 데 아무런 문제가 없었습니다. 하지만 이제는 더 큰 프로젝트의 일부로 동일한 SDK를 사용하려고 시도 했으므로 제대로 작동하지 않는 것 같습니다. 헤더 파일이 거기에 있다는 것을 알 것 같지만 그 파일과 라이브러리와 올바르게 통신하지 않습니다. 나는 iPhone 5에서 실행하려고하는데 최신 Xcode가 있습니다.내가 알고있는 라이브러리의 링커 오류가 프로젝트에 있습니다.

는하지만 이러한 오류가

Undefined symbols for architecture armv7s: 
    "**___cxa_pure_virtual", referenced from**: 
     vtable for Comparable in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
    "**vtable for __cxxabiv1::__si_class_type_info", referenced from:** 
     typeinfo for ComboVertex in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
     typeinfo for ObjDB in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(ObjDB.o) 
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. 
    **"operator new[](unsigned long)", referenced from:** 
     Array<FloatPolygon>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<FloatVertex>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<CString>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(ObjFile.o) 
     Array<Vector3>::resize(int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
     Array<Vector3>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
     Array<unsigned char>::resize(int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
     Array<unsigned char>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
     ... 
    **"std::terminate()", referenced from:** 
     +[Geometry newOBJFromResource:] in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     FloatObject::~FloatObject() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<FloatPolygon>::~Array() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     FloatObject::FloatObject() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<FloatPolygon>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     read_obj(GeometryInterface*, char const*) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(ObjFile.o) 
     Array<CString>::~Array() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(ObjFile.o) 
     ... 
    **"operator delete[](void*)", referenced from:** 
     RunningAverage<Vector3>::~RunningAverage() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(CoordinateSystemAPI.o) 
     Array<FloatVertex>::~Array() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<FloatPolygon>::~Array() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<FloatPolygon>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<FloatVertex>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<CString>::~Array() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(ObjFile.o) 
     Array<CString>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(ObjFile.o) 
     ... 
    **"vtable for __cxxabiv1::__class_type_info", referenced from:** 
     typeinfo for Comparable in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
     typeinfo for GeometryInterface in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(GeometryInterface.o) 
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. 
    ****"___cxa_guard_abort", referenced from:**** 
     Vector2::zero() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
     Vector3::zero() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
    **"___gxx_personality_sj0", referenced from:** 
     +[Geometry newOBJFromResource:] in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     FloatObject::~FloatObject() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<FloatPolygon>::~Array() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     FloatObject::FloatObject() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<FloatPolygon>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     Array<FloatVertex>::Array(int, int) in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     +[SM3DARSession sharedInstance] in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(SM3DARSession.o) 
     ... 
    **"___cxa_guard_acquire", referenced from:** 
     Vector2::zero() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
     Vector3::zero() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
    "___cxa_guard_release", referenced from: 
     Vector2::zero() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
     Vector3::zero() in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(FloatObject.o) 
    "std::ios_base::Init::~Init()", referenced from: 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(SM3DARController.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(SM3DARPointOfInterest.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(CoordinateSystemAPI.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Matrix4.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Matrix3.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(SM3DARPointView.o) 
     ... 
    "std::ios_base::Init::Init()", referenced from: 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(SM3DARController.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(SM3DARPointOfInterest.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(CoordinateSystemAPI.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Geometry.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Matrix4.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(Matrix3.o) 
     ___cxx_global_var_init in lib3DAR_v23_2012_12_06_DistributionPatch_2013_05_18.a(SM3DARPointView.o) 
     ... 
ld: symbol(s) not found for architecture armv7s 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+0

희망이 링크가 문제를 해결. http://stackoverflow.com/questions/6429494/undefined-symbols-for-architecture-armv7 – AAV

답변

0

내가하지 armv7s를하는 ARMv7 라이브러리만을 위해 지어진 생각받을 수 있습니다. 이것이 문제인지 확인하려면 프로젝트 빌드 설정에서 armv7 용으로 빌드하도록 프로젝트를 구성하고 해당 빌드가 작동하는지 확인하십시오. 이 경우 라이브러리의 업데이트 된 버전을 얻거나 armv7 용 코드 만 빌드하면됩니다.

관련 문제