読者です 読者をやめる 読者になる 読者になる

xcodeビルドエラーとの戦い

Xcode6.3で実装中、ビルドが通らないエラーに遭遇したのでその時にやったのを備忘録的にのこしておきます。

ビルドすると下記のエラーに

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_nanostreamAVC", referenced from:
      __TTSf4g___TFC10xxxxxx9Publisher25setupDefaultStreamSettingfS0_FT_T_ in Publisher.o
      __TTSf4n_s_g_g___TFC10VAdHoc9Publisher30nanostreamEventHandlerWithTypefS0_FTOSC15nanostreamEvent8andLevelVSs5Int3214andDescriptionGSQSS__T_ in Publisher.o
      __TTSf4g_gs_gs_gs_s_n___TFC10AdHoc9Publisher16prepareBroadcastfS0_FT7sessionCSo16AVCaptureSession3URLSS7licenseSS8streamIdSS7isFrontSb_T_ in Publisher.o
      l_get_field_types_Publisher in Publisher.o
  "_OBJC_CLASS_$_nanostreamAVCSettings", referenced from:
      __TTSf4g___TFC10AdHoc9Publisher25setupDefaultStreamSettingfS0_FT_T_ in Publisher.o
      l_get_field_types_Publisher in Publisher.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

ld: warning: ignoring file /Users/work/app/project/Classes/Libraries/libnanostreamAVC.a, missing required architecture x86_64 in file /Users/work/app/project/VegasApp/Classes/Libraries/libnanostreamAVC.a (4 slices)

いろいろとググってみてもいい記事がなくてちょっとはまりました。

解決方法としては、

プロジェクト > TARGETS > の 「Build Active Architecture Only」を YESかNOに変更して、ビルドする。一度ビルドしてしまえば、その後は、また戻してもsuccessになるのでこれで回避しました。

Build Active Architecture Onlyについての記事