Google 游戏分析因链接器错误而无法构建
Game with Google Analytics failing to build due to linker errors
我正在做一个 unity 项目,这是一个在移动设备上玩的 AR 游戏。它使用 vuforia 作为 AR 部分。最近我添加了 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 并重新添加了它们,然后构建了一个新版本但没有变化。如果有人能帮我解决这个问题,我将不胜感激!
Here is picture of the frameworks and libraries.
Unity版本是4.6.7f1,Xcode是6.4。我下载了 Analytics 和 Vuforia 的最新版本。
嗯,我是自己到的。在查看 git 提交足够长的时间并尝试足够多的东西后,我发现 Google Analytics 在我将它添加到项目时取代了 PostProcessBuildPlayer(在 Assets/Editor/ 中),这意味着 Vuforia 是没有正确构建自己。我重新添加了 Vuforia 版本并重命名了 Analytics 版本 PostProcessBuildPlayer_GA,并在构建时添加了正确的框架。之后建的很漂亮。
我正在做一个 unity 项目,这是一个在移动设备上玩的 AR 游戏。它使用 vuforia 作为 AR 部分。最近我添加了 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 并重新添加了它们,然后构建了一个新版本但没有变化。如果有人能帮我解决这个问题,我将不胜感激!
Here is picture of the frameworks and libraries.
Unity版本是4.6.7f1,Xcode是6.4。我下载了 Analytics 和 Vuforia 的最新版本。
嗯,我是自己到的。在查看 git 提交足够长的时间并尝试足够多的东西后,我发现 Google Analytics 在我将它添加到项目时取代了 PostProcessBuildPlayer(在 Assets/Editor/ 中),这意味着 Vuforia 是没有正确构建自己。我重新添加了 Vuforia 版本并重命名了 Analytics 版本 PostProcessBuildPlayer_GA,并在构建时添加了正确的框架。之后建的很漂亮。