Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS WeMo SDK体系结构问题_Ios_Linker - Fatal编程技术网

iOS WeMo SDK体系结构问题

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

我正试图建立一个应用程序,控制一个由贝尔金WeMo开关。他们发布了自己的SDK来控制他们的产品,我已经将它们包括在我的库搜索路径以及链接库和框架工作区中

首先,我尝试编译所有架构(包括arm64),并得到以下Mach-O链接器错误

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_标准_32_位)解决方案,使用此部分显示错误?


      尽管使用armv7或$(ARCHS_STANDARD_32_BIT)解决方案,使用此部分显示错误?

      这将有助于即使它仍然无法使用@Balram的答案。 您必须在目标的构建设置的链接部分下的“其他链接器标志”属性中添加-lxml2。
      这对我很有用

      即使@Balram的答案仍然不起作用,这也会有所帮助。 您必须在目标的构建设置的链接部分下的“其他链接器标志”属性中添加-lxml2。
      这对我起了作用

      你挽救了我的事业:)这真的很令人沮丧,我也这么做了,但对我不起作用。有人试过在xcode9中构建它吗?你挽救了我的职业生涯:)这真是令人沮丧,我也这么做了,但对我来说不起作用。有人试过在xcode9中构建它吗?