【问题标题】:Hi I am trying to execute the Wikitude sample application, but I am getting these compile errors, please help me in this嗨,我正在尝试执行 Wikiitude 示例应用程序,但出现这些编译错误,请帮助我
【发布时间】:2011-09-21 06:50:18
【问题描述】:
Build WikitudeAPI-SCM-Test of project WikitudeAPI-SCM-Test with configuration Debug

Ld build/Debug-iphonesimulator/WikitudeAPI-SCM-Test.app/WikitudeAPI-SCM-Test normal i386
cd /Users/srinivas/Downloads/WikitudeAPI_iPhone_1.0.7/SampleApp
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk -L/Users/srinivas/Downloads/WikitudeAPI_iPhone_1.0.7/SampleApp/build/Debug-iphonesimulator -L../WikitudeAPI -L../WikitudeAPI/usr -L../WikitudeAPI/usr/local -L../WikitudeAPI/usr/local/include -L../WikitudeAPI/usr/local/resources -L../WikitudeAPI/usr/local/resources/images -L../WikitudeAPI/usr/local/resources/libs -L../WikitudeAPI/usr/local/resources/nibs -L../WikitudeAPI/usr/local/resources/images/RECHECK -F/Users/srinivas/Downloads/WikitudeAPI_iPhone_1.0.7/SampleApp/build/Debug-iphonesimulator -filelist /Users/srinivas/Downloads/WikitudeAPI_iPhone_1.0.7/SampleApp/build/WikitudeAPI-SCM-Test.build/Debug-iphonesimulator/WikitudeAPI-SCM-Test.build/Objects-normal/i386/WikitudeAPI-SCM-Test.LinkFileList -mmacosx-version-min=10.6 -all_load -ObjC -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -framework CFNetwork -framework CoreData -framework CoreFoundation -framework CoreLocation -framework MapKit -framework MessageUI -framework QuartzCore -framework SystemConfiguration -lsqlite3.0 -lWikitudeAPI -lGoogleAnalytics -o /Users/srinivas/Downloads/WikitudeAPI_iPhone_1.0.7/SampleApp/build/Debug-iphonesimulator/WikitudeAPI-SCM-Test.app/WikitudeAPI-SCM-Test

ld: warning: in ../WikitudeAPI/libWikitudeAPI.a, missing required architecture i386 in file
Undefined symbols:
  "_OBJC_CLASS_$_WTPoi", referenced from:
      objc-class-ref-to-WTPoi in WikitudeAPI_SCM_TestAppDelegate.o
      objc-class-ref-to-WTPoi in CustomMenuButtonDelegateImpl1.o
  "_OBJC_CLASS_$_WikitudeARCustomMenuButton", referenced from:
      objc-class-ref-to-WikitudeARCustomMenuButton in WikitudeAPI_SCM_TestAppDelegate.o
  "_OBJC_CLASS_$_WikitudeARViewController", referenced from:
      objc-class-ref-to-WikitudeARViewController in WikitudeAPI_SCM_TestAppDelegate.o
      objc-class-ref-to-WikitudeARViewController in CustomMenuButtonDelegateImpl1.o
      objc-class-ref-to-WikitudeARViewController in CustomMenuButtonDelegateImpl3.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

【问题讨论】:

    标签: iphone api sdk wikitude


    【解决方案1】:

    Wikitude SDK 只能在实际的 iOS 设备上运行,模拟器不支持摄像头和必要的传感器(加速度计、磁力计)。

    请尝试在实际的 iOS 设备上构建和部署,然后一切都会按预期工作。

    干杯, 尼古拉斯

    【讨论】:

      【解决方案2】:

      这是一个旧帖子,但我没有找到肯定的答案。实际上,我找到了一种可以在模拟器中编译的方法。

      首先,我使用 Wikitude 实现编辑了类(h 和 m)并使用条件:当它不是模拟器时它加载一个接口和实现,当它是一个模拟器时它加载另一个接口和实现:

      例子.h

      #import <UIKit/UIKit.h>
      #import "Example.h"
      
      #if !TARGET_IPHONE_SIMULATOR
      #import <WikitudeSDK/WTArchitectView.h>
      
      @interface Example : UIViewController <WTArchitectViewDelegate>
      {
          WTArchitectView *_architectView;
      }
      
      @property (nonatomic, strong) WTArchitectView *architectView;
      
      @end
      #else
      @interface Example : UIViewController {
      
      }
      
      @end
      #endif
      

      例子.m

      #import "Example.h"
      
      #if !TARGET_IPHONE_SIMULATOR
      @interface Example () {
      }
      
      @end
      
      @implementation Example // implementation for devices
      .
      .
      .
      @end
      #else
      @interface Example ()
      
      @end
      
      @implementation Example // implementation for simulator
      .
      .
      .
      @end
      #endif
      

      要在模拟器和设备上进行编译之间切换,您只需为当前目标停用或激活 WikitudeSDK.framework:

      1) 从左侧面板的“Project Navigator”中选择 WikiitudeSDK.framework。

      2) 使用右侧面板上的“文件检查器”为当前目标停用它。

      它对我有用。

      最好的问候!

      【讨论】:

        猜你喜欢
        • 2023-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-21
        • 2021-09-16
        • 1970-01-01
        • 2021-12-23
        相关资源
        最近更新 更多