我们正在创建一个应用程序,我们使用Luxand库进行人脸检测和识别。我们从您的“LiveRecognition”示例应用程序开始。我们发现,如果我们将Project的“Build Setting”中的“Valid Architecture”从“armv7”更改为“armv7s”和“arm64”,它会给我们大约50个编译时错误。下面是编译时得到的错误。我们只是想知道,如何使用“arm64”和“armv7s”成功编译应用程序。您能告诉我们在App的项目“构建设置”中需要进行哪些配置更改才能运行项目吗?如果您需要我们关于项目的“构建设置”设置的任何进一步帮助,请告诉我们。
另外,我们在您的网站上看到您支持arm64 / x86_64(iPhone 5S +,iPad Air +,iPad mini retina +,模拟器)。所以,我们只是想知道你是否支持iPhone5c,因为我们在iPhone5c中遇到了这个问题。
我的项目的项目设置是: Architechures:标准建筑(armv7,arm64) 基础SDK:最新的iOS(iOS 8.3) 仅构建活动架构:否 有效的建筑:arm64,armv7,armv7s
iOS部署目标:iOS7.0
其他链接器标志:-lxml2
ERROR:
ld: warning: ignoring file <Path To project>/libfsdk-static_64.a, missing required architecture armv7 in file<Path To project>/libfsdk-static_64.a (2 slices)
Undefined symbols for architecture armv7:
"_FSDK_LockID", referenced from:
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_SetName", referenced from:
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_SaveTrackerMemoryToFile", referenced from:
-[DetectionViewController unloadView] in DetectionViewController.o
"_FSDK_FeedFrame", referenced from:
-[RecognitionViewController processImageAsyncWith:] in RecognitionViewController.o
-[CaptureImages processImageAsyncWith:] in CaptureImages.o
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_GetTrackerEyes", referenced from:
-[RecognitionViewController processImageAsyncWith:] in RecognitionViewController.o
-[CaptureImages processImageAsyncWith:] in CaptureImages.o
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_MirrorImage", referenced from:
-[RecognitionViewController processImageAsyncWith:] in RecognitionViewController.o
-[CaptureImages processImageAsyncWith:] in CaptureImages.o
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_LoadTrackerMemoryFromFile", referenced from:
-[RecognitionViewController setupCamera] in RecognitionViewController.o
-[CaptureImages initWithCamera:] in CaptureImages.o
-[DetectionViewController setupCamera] in DetectionViewController.o
"_FSDK_ClearTracker", referenced from:
-[RecognitionViewController processImageAsyncWith:] in RecognitionViewController.o
-[CaptureImages processImageAsyncWith:] in CaptureImages.o
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_CreateTracker", referenced from:
-[RecognitionViewController setupCamera] in RecognitionViewController.o
-[CaptureImages initWithCamera:] in CaptureImages.o
-[DetectionViewController setupCamera] in DetectionViewController.o
"_FSDK_LoadImageFromBuffer", referenced from:
-[RecognitionViewController processImageAsyncWith:] in RecognitionViewController.o
-[CaptureImages processImageAsyncWith:] in CaptureImages.o
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_SetNumThreads", referenced from:
-[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
"_FSDK_SetTrackerMultipleParameters", referenced from:
-[RecognitionViewController setupCamera] in RecognitionViewController.o
-[CaptureImages initWithCamera:] in CaptureImages.o
-[DetectionViewController setupCamera] in DetectionViewController.o
"_FSDK_GetAllNames", referenced from:
-[RecognitionViewController processImageAsyncWith:] in RecognitionViewController.o
-[CaptureImages processImageAsyncWith:] in CaptureImages.o
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_GetLicenseInfo", referenced from:
-[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
"_FSDK_CreateEmptyImage", referenced from:
-[RecognitionViewController processImageAsyncWith:] in RecognitionViewController.o
-[CaptureImages processImageAsyncWith:] in CaptureImages.o
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_Initialize", referenced from:
-[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
"_FSDK_UnlockID", referenced from:
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_GetNumThreads", referenced from:
-[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
"_FSDK_FreeImage", referenced from:
-[RecognitionViewController processImageAsyncWith:] in RecognitionViewController.o
-[CaptureImages processImageAsyncWith:] in CaptureImages.o
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_ActivateLibrary", referenced from:
-[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
"_FSDK_RotateImage90", referenced from:
-[RecognitionViewController processImageAsyncWith:] in RecognitionViewController.o
-[CaptureImages processImageAsyncWith:] in CaptureImages.o
-[DetectionViewController processImageAsyncWith:] in DetectionViewController.o
"_FSDK_SetFaceDetectionThreshold", referenced from:
-[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
答案 0 :(得分:2)
我通过更改构建设置中的以下内容来解决问题:
Architectures : Standard Architechtures(armv7, arm64)
Base SDK : Latest iOS (iOS 8.3)
Build Active Architecture Only: NO
Valid Architechture: armv7, arm64
iOS Deployment Target: iOS7.0
C++ Language Dialect: GNU++11[-std=gnu++11]
C++ Standard Library: libstdc++ (GNU C++ standard library)