iOS WeMo SDK体系结构问题
我正试图建立一个应用程序,控制一个由贝尔金WeMo开关。他们发布了自己的SDK来控制他们的产品,我已经将它们包括在我的库搜索路径以及链接库和框架工作区中 首先,我尝试编译所有架构(包括arm64),并得到以下Mach-O链接器错误iOS WeMo SDK体系结构问题,ios,linker,Ios,Linker,我正试图建立一个应用程序,控制一个由贝尔金WeMo开关。他们发布了自己的SDK来控制他们的产品,我已经将它们包括在我的库搜索路径以及链接库和框架工作区中 首先,我尝试编译所有架构(包括arm64),并得到以下Mach-O链接器错误 ld: warning: ignoring file /Users/khwaab/src/enimai/iOS/House Control/- iphoneos/BelkinSDKLibrary.a, missing required architecture arm
ld: warning: ignoring file /Users/khwaab/src/enimai/iOS/House Control/-
iphoneos/BelkinSDKLibrary.a, missing required architecture arm64 in file
/Users/khwaab/src/enimai/iOS/House Control/-iphoneos/BelkinSDKLibrary.a (3 slices)
ld: warning: ignoring file /Users/khwaab/src/enimai/iOS/House Control/-
iphoneos/WeMoLocalControl.a, missing required architecture arm64 in file
/Users/khwaab/src/enimai/iOS/House Control/-iphoneos/WeMoLocalControl.a (3 slices)
ld: warning: ignoring file /Users/khwaab/src/enimai/iOS/House Control/-
iphoneos/Cybergarage.a, missing required architecture arm64 in file
/Users/khwaab/src/enimai/iOS/House Control/-iphoneos/Cybergarage.a (3 slices)
ld: warning: ignoring file /Users/khwaab/src/enimai/iOS/House Control/-
iphoneos/Reachability.a, missing required architecture arm64 in file
/Users/khwaab/src/enimai/iOS/House Control/-iphoneos/Reachability.a (3 slices)
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_WeMoDiscoveryManager", referenced from:
objc-class-ref in LightControlViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
接下来,假设库不是64位的,我尝试禁用arm64(如果我错了,请纠正我)
不知道从这里到哪里去,我怀疑这个库已经过时了,不适合armv7/7s(它也不会在模拟器下构建i386),但是如果有人对此或任何想法有任何运气,我们将不胜感激 以下是我从这个问题中恢复过来的解决方案
- 将文件夹-iphonesos中提供的库包含到您的项目中
- 将以下框架添加到项目中
1. libxml2.dylib 2. CFNetwork.framework 3. MobileCoreServices.framework 4. Security.framework 5. SystemConfiguration.framework
- 然后转到构建设置并搜索架构
- 通过单击其他…&添加新值添加此
$(ARCHS\u标准\u 32\u位)
- 如果您也可以选择,
表示$(ARCHS_标准)
标准体系结构(armv7、armv7s)
- 构建项目时,您将消除所有链接器错误
- 将文件夹-iphonesos中提供的库包含到您的项目中
- 将以下框架添加到项目中
1. libxml2.dylib 2. CFNetwork.framework 3. MobileCoreServices.framework 4. Security.framework 5. SystemConfiguration.framework
- 然后转到构建设置并搜索架构
- 通过单击其他…&添加新值添加此
$(ARCHS\u标准\u 32\u位)
- 如果您也可以选择,
表示$(ARCHS_标准)
标准体系结构(armv7、armv7s)
- 构建项目时,您将消除所有链接器错误
- 以下是我为解决此问题而采取的解决方案
尽管使用armv7或$(ARCHS_STANDARD_32_BIT)解决方案,使用此部分显示错误?这将有助于即使它仍然无法使用@Balram的答案。 您必须在目标的构建设置的链接部分下的“其他链接器标志”属性中添加-lxml2。
这对我很有用即使@Balram的答案仍然不起作用,这也会有所帮助。 您必须在目标的构建设置的链接部分下的“其他链接器标志”属性中添加-lxml2。
这对我起了作用你挽救了我的事业:)这真的很令人沮丧,我也这么做了,但对我不起作用。有人试过在xcode9中构建它吗?你挽救了我的职业生涯:)这真是令人沮丧,我也这么做了,但对我来说不起作用。有人试过在xcode9中构建它吗?