Здравствуйте, я пытаюсь выполнить пример приложения Wikitude, но я получаю эти ошибки компиляции, пожалуйста, помогите мне в этом - PullRequest
0 голосов
/ 21 сентября 2011
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

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

Wikitude SDK работает только на реальном устройстве iOS, симулятор не поддерживает камеру и необходимые датчики (акселерометр, магнитометр).

Пожалуйста, попробуйте собрать и развернуть на реальном устройстве iOS, тогда все должно работать как положено.

Ура, Nicolas

0 голосов
/ 26 июня 2013

Это старый пост, но я не нашел положительного ответа. Собственно, я нашел способ сделать возможным компиляцию в симуляторе.

Прежде всего, я отредактировал класс (h и m) с помощью реализации Wikitude и работал с условными выражениями: он загружает интерфейс и реализацию, когда это не симулятор, и загружает другой интерфейс и реализацию, когда это симулятор:

Example.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

Example.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) Выберите WikitudeSDK.framework в «Навигаторе проектов» на левой панели.

2) Отключите его для текущей цели с помощью «Инспектора файлов» на правой панели.

Это сработало для меня.

С наилучшими пожеланиями!

...