繁体   English   中英

链接器错误,导致Google Analytics(分析)游戏无法构建

[英]Game with Google Analytics failing to build due to linker errors

我正在做一个统一的项目,即与移动设备一起玩的AR游戏。 它在AR部分使用vuforia。 最近,我添加了Google Analytics for Unity(开发者网站上的googleanalyticsv3.unitypackage)。 之后,当我尝试在iOS上进行构建时,出现很多“ Apple Mach-O Linker”错误(Android仍然可以很好地构建)。 通过添加必要的框架,我能够删除其中一些框架,但是我仍然有大约50个框架。 我添加了libsqlite3.dylib,libz.dylib,SystemConfiguration.framework和CoreData.framework。 然后,我还添加了security.framework,这似乎也减少了构建过程中的错误。 然后,在添加Analytics(分析)之前,我对项目进行了一些提交,并且在相同的Unity和Xcode版本上仍然可以正常运行。

下面粘贴的是我得到的错误:

Undefined symbols for architecture armv7:
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::imbue(std::__1::locale const&)", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsgetn(char*, int)", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::uflow()", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::mutex::~mutex()", referenced from:
      StateHolder::~StateHolder() in libQCARUnityPlayer.a(Tracker.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
      construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_istringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(double&)", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::ios_base::clear(unsigned int)", referenced from:
      l12810 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18582 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18591 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18597 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18730 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
      construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_istringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::cerr", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12905 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18649 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
      l18730 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::tellg()", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::push_back(char)", referenced from:
      l18591 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18597 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18636 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::put(char)", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12922 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18649 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned long, char)", referenced from:
      l18629 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18636 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_istream<char, std::__1::char_traits<char> >&, bool)", referenced from:
      l18582 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18591 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18597 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::showmanyc()", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from:
      l18582 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18591 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18597 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18730 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::__next_prime(unsigned long)", referenced from:
      l18338 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18347 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18357 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::sync()", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(double)", referenced from:
      l12922 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::ios_base::init(void*)", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12858 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::compare(char const*) const", referenced from:
      l12804 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12809 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(int)", referenced from:
      l12922 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18649 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(int&)", referenced from:
      l12806 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12809 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
  "non-virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
      construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_istringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::seekg(std::__1::fpos<__mbstate_t>)", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(float&)", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::ios_base::getloc() const", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12922 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18582 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18591 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18649 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18730 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
      l12805 in libVuforia.a(libVuforia.a-armv7-master.o)
      l17392 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18583 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18584 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18585 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18592 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18593 in libVuforia.a(libVuforia.a-armv7-master.o)
      ...
  "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12922 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18582 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18591 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18649 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18730 in libVuforia.a(libVuforia.a-armv7-master.o)
  "non-virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
      construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_istringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
      l18730 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12858 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18612 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18626 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18627 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18628 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18630 in libVuforia.a(libVuforia.a-armv7-master.o)
      ...
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12858 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18612 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18626 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18627 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18628 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long, unsigned long, std::__1::allocator<char> const&)", referenced from:
      l12808 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12858 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::locale::~locale()", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12922 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18582 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18591 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18649 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18730 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::cout", referenced from:
      l12922 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::operator>>(unsigned int&)", referenced from:
      l12809 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12858 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18612 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18626 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18627 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18628 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
      l12808 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12809 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12810 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12811 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12846 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12848 in libVuforia.a(libVuforia.a-armv7-master.o)
      ...
  "std::__1::ctype<char>::id", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12922 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18582 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18591 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18649 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18730 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::mutex::lock()", referenced from:
      StateHolder::QCAR_onUpdate(QCAR::State&) in libQCARUnityPlayer.a(StateHolder.o)
      StateHolder::setStateBufferSize(unsigned int) in libQCARUnityPlayer.a(StateHolder.o)
      StateHolder::updateCurrentState() in libQCARUnityPlayer.a(StateHolder.o)
      StateHolder::getCurrentState() in libQCARUnityPlayer.a(StateHolder.o)
      StateHolder::hasStateBeenSet() in libQCARUnityPlayer.a(StateHolder.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      l12809 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18594 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()", referenced from:
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12922 in libVuforia.a(libVuforia.a-armv7-master.o)
      l18649 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_istream<char, std::__1::char_traits<char> >::get()", referenced from:
      l12806 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12809 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12811 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      l18629 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned long)", referenced from:
      l12922 in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::setbuf(char*, int)", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::mutex::unlock()", referenced from:
      StateHolder::QCAR_onUpdate(QCAR::State&) in libQCARUnityPlayer.a(StateHolder.o)
      StateHolder::setStateBufferSize(unsigned int) in libQCARUnityPlayer.a(StateHolder.o)
      StateHolder::updateCurrentState() in libQCARUnityPlayer.a(StateHolder.o)
      StateHolder::getCurrentState() in libQCARUnityPlayer.a(StateHolder.o)
      StateHolder::hasStateBeenSet() in libQCARUnityPlayer.a(StateHolder.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsputn(char const*, int)", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libVuforia.a(libVuforia.a-armv7-master.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)", referenced from:
      l12809 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12812 in libVuforia.a(libVuforia.a-armv7-master.o)
      l12858 in libVuforia.a(libVuforia.a-armv7-master.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我在网上经常看到这个问题,但是似乎只要添加正确的框架就可以解决,但是我应该拥有所有这些东西,至少是我在网上看到的所有东西。 我也尝试过使用AdSupport.framework,但是它没有任何效果,所以我删除了它,因为它显然会使iOS审查失败(并且我不需要这种跟踪)。 我也已经同次构建了这个项目4次(每次都在一个新文件夹中),添加了框架,删除了框架,然后再次添加了框架。 我还从项目中删除了Vuforia和Google Analytics(分析),并重新添加了它们,然后构建了一个新版本,但没有更改。 如果有人可以帮助我解决此问题,我将非常感谢!

这是框架和库的图片。

Unity版本是4.6.7f1,Xcode是6.4。 我下载了Google Analytics(分析)和Vuforia的最新版本。

好吧,我一个人到那里。 在查看了git commit足够长的时间并尝试了足够的东西之后,我发现Google Analytics(分析)在将它添加到项目中时已经替换了PostProcessBuildPlayer(在Assets / Editor /中),这意味着Vuforia无法正确构建自身。 我重新添加了Vuforia版本,并将其重命名为Analytics版本PostProcessBuildPlayer_GA,并在构建时添加了正确的框架。 之后,它的建造精美。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM