0

我正在尝试使用 Metaio Unity SDK 构建在 Unity3d 中构建的增强现实应用程序。该应用程序使用 CAD 模型作为目标,在该目标上增加内容。它在现实世界中寻找类似于参考 CAD 模型的东西,然后锁定它。在 XCode 中,我从 Libraries 添加 metaiosdk 文件(不是 metaiosdk.framework)到 Link Binaries to Libraries 部分。我还添加了 libxml2.dylib 框架。当我构建时,我因大量错误而失败。这些错误都声称Metaio框架的“找不到选项'-L / ...的目录”。当我在构建设置中搜索“搜索路径”并将它们全部删除时(根据这个所以回答),我只遇到一个错误,说没有 Metaio 框架。当我将整个 SDK 文件夹添加到项目并重做前面的步骤(包括必须再次删除库和标头的搜索路径)时,我收到一条错误消息,提示找不到 -liPhone-lib 库。我按照Metaio Helpdesk 帖子中的说明重新导入该库,然后我重新删除库和标题的搜索路径(否则我再次收到大约 30 个错误)。然后,当我构建时,我只收到一个错误,说“找不到‘Unity/GlesHelper.h’。” 我很茫然,因为谷歌没有找到“GlesHelper.h”的结果(在这种情况下)。我究竟做错了什么?SDK是否需要在Unity项目内,Unity项目在XCode项目文件夹内?是不是正好相反?我是否需要导入示例场景而不仅仅是我正在使用的场景?感谢您的帮助! 在此处输入图像描述

编辑:这是我在构建设置中删除搜索库路径之前遇到的错误示例:

d:警告:找不到选项“-L”的目录/Users/capture/Desktop/iMacXC2/Libraries“”架构armv7的未定义符号:

"_CIDetectorAccuracy", referenced from: __ZNWwTeFvdBdVkDNRXNPUfEgifAKsRnrNYugVMtgpHhPUMqd in metaiosdk(xhvKRhZZTIhPZZYtqieHqfH) "_OBJC_CLASS_$_CIDetector", referenced from: objc-class-ref in metaiosdk(xhvKRhZZTIhPZZYtqieHqfH) "_kSecReturnRef", referenced from: _darwinssl_connect_common in metaiosdk(libcurl_la-curl_darwinssl.o) " _CIDetectorAccuracyLow", referenced from: __ZNWwTeFvdBdVkDNRXNPUfEgifAKsRnrNYugVMtgpHhPUMqd in metaiosdk(xhvKRhZZTIhPZZYtqieHqfH) "_kSecMatchPolicy", referenced from: _darwinssl_connect_common in metaiosdk(libcurl_la-curl_darwinssl.o) "_kSecMatchLimitOne", referenced from: _darwinssl_connect_common in metaiosdk(libcurl_la-curl_darwinssl.o) "_kSecMatchLimit",引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_common“_kSecClass”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o)“_SSLWrite”,引用自:metaiosdk中的_darwinssl_send(libcurl_la-curl_darwinssl.o)“_SSL” , 引用自:metaiosdk 中的_Curl_darwinssl_data_pending(libcurl_la-curl_darwinssl.o) "_kSecClassIdentity",引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_common (libcurl_la-curl_darwinssl.o) "_SSLClose",引用自:metaiosdk 中的_Curl_darwinssl_close(libcurl_la-curl_curl_ssl.odarOption) ",引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_commono)o)metaiosdk(libcurl_la-curl_darwinssl.o) 中的 _darwinssl_connect_common (libcurl_la-curl_darwinssl.o) "_kSecClass",引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的 _darwinssl_connect_common (libcurl_la-curl_darwinssl.o) "_SSLWrite",引用自:metiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_send (libcurl_la-curl_darwinssl.o) "_SSLGetBuffered",引用自S : metaiosdk(libcurl_la-curl_darwinssl.o)中的_Curl_darwinssl_data_pending“_kSecClassIdentity”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o)“_SSLClose”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_Curl_darwinssl_close(libcurl_la-curl_darwinssl.o)“reference”来自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_commonmetaiosdk(libcurl_la-curl_darwinssl.o) 中的 _darwinssl_connect_common (libcurl_la-curl_darwinssl.o) "_kSecClass",引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的 _darwinssl_connect_common (libcurl_la-curl_darwinssl.o) "_SSLWrite",引用自:metiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_send (libcurl_la-curl_darwinssl.o) "_SSLGetBuffered",引用自S : metaiosdk(libcurl_la-curl_darwinssl.o)中的_Curl_darwinssl_data_pending“_kSecClassIdentity”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o)“_SSLClose”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_Curl_darwinssl_close(libcurl_la-curl_darwinssl.o)“reference”来自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_commono)o)o)o)metaiosdk 中的 _darwinssl_connect_common(libcurl_la-curl_darwinssl.o) "_SSLWrite",引用自:metaiosdk 中的 _darwinssl_send(libcurl_la-curl_darwinssl.o) "_SSLGetBufferedReadSize",引用自:metiosdk 中的 _Curl_darwinssl_data_pending(libcurl_la-curl_darwinssl_data_pending (libcurl_la-curl_darwinssl.o) : _darwinssl_connect_common in metaiosdk(libcurl_la-curl_darwinssl.o) "_SSLClose", 引用自: _Curl_darwinssl_close in metaiosdk(libcurl_la-curl_darwinssl.o) "_SSLSetSessionOption", 引用自: _darwinssl_connect_common in metaiosdk(libcurl_la-curl_darwinssl.o)metaiosdk 中的 _darwinssl_connect_common(libcurl_la-curl_darwinssl.o) “_SSLWrite”,引用自:metaiosdk 中的 _darwinssl_send(libcurl_la-curl_darwinssl.o) “_SSLGetBufferedReadSize”,引用自:metaiosdk 中的 _Curl_darwinssl_data_pending(libcurl_la-curl_darwinssl_data_pending (libcurl_la-curl_darwinssl.o) : _darwinssl_connect_common in metaiosdk(libcurl_la-curl_darwinssl.o) "_SSLClose", 引用自: _Curl_darwinssl_close in metaiosdk(libcurl_la-curl_darwinssl.o) "_SSLSetSessionOption", 引用自: _darwinssl_connect_common in metaiosdk(libcurl_la-curl_darwinssl.o)metaiosdk中的_darwinssl_send(libcurl_la-curl_darwinssl.o)“_SSLGetBufferedReadSize”,引用自:metaiosdk中的_Curl_darwinssl_data_pending(libcurl_la-curl_darwinssl.o)“_kSecClassIdentity”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_common(libcurl_la-curl_darwinssl),referenced_Cl。 : metaiosdk(libcurl_la-curl_darwinssl.o)中的_Curl_darwinssl_close“_SSLSetSessionOption”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_commonmetaiosdk中的_darwinssl_send(libcurl_la-curl_darwinssl.o)“_SSLGetBufferedReadSize”,引用自:metaiosdk中的_Curl_darwinssl_data_pending(libcurl_la-curl_darwinssl.o)“_kSecClassIdentity”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_common(libcurl_la-curl_darwinssl),referenced_Cl。 : metaiosdk(libcurl_la-curl_darwinssl.o)中的_Curl_darwinssl_close“_SSLSetSessionOption”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_commonmetaiosdk 中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o) "_SSLClose",引用自:metaiosdk 中的_Curl_darwinssl_close(libcurl_la-curl_darwinssl.o) "_SSLSetSessionOption",引用自:metaiosdk 中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o)metaiosdk 中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o) "_SSLClose",引用自:metaiosdk 中的_Curl_darwinssl_close(libcurl_la-curl_darwinssl.o) "_SSLSetSessionOption",引用自:metaiosdk 中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o)
“_SSLGetNumberSupportedCiphers”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_common (libcurl_la-curl_darwinssl.o) “_SSLCreateContext”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_common (libcurl_la-curl_darwinssl.o) “_SSLSetProtocolVersionMax”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_common( ) "_SecItemCopyMatching",引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_common
"_SSLGetNegotiatedProtocolVersion", referenced from: _darwinssl_connect_step2 in metaiosdk(libcurl_la-curl_darwinssl.o) "_SSLSetProtocolVersionMin", referenced from: _darwinssl_connect_common in metaiosdk(libcurl_la-curl_darwinssl.o) "_SSLGetSessionState", referenced from: _Curl_darwinssl_check_cxn in metaiosdk(libcurl_la-curl_darwinssl.o ) “_SSLSetEnabledCiphers”,引用自:metaiosdk 中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o) “_SecPolicyCreateSSL”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_common
“_SecIdentityCopyCertificate”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_common (libcurl_la-curl_darwinssl.o) “_SSLSetPeerID”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_common (libcurl_la-curl_darwinssl.o) “_SSLGetNegotiatedCipher”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_common ) “_SSLSetPeerDomainName”,引用自:metaiosdk 中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o) “_SSLRead”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_recv (libcurl_la-curl_darwinssl.o) “_SSLSetIOFuncs”,引用自:metaiosdk 中的_darwinssl_connect_curl(libcurlwinla-common) o) “_SSLHandshake”,引用自:metaiosdk(libcurl_la-curl_darwinssl.o)中的_darwinssl_connect_step2“_SSLCopyPeerTrust”,引用自:metaiosdk中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o)“_SSLGetSupportedCiphers”,引用自:metaiosdk中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o)
"_SecCertificateCopySubjectSummary", referenced from: _darwinssl_connect_common in metaiosdk(libcurl_la-curl_darwinssl.o) "_SSLSetConnection", referenced from: _darwinssl_connect_common in metaiosdk(libcurl_la-curl_darwinssl.o) "_CIDetectorTypeFace", referenced from: __ZNWwTeFvdBdVkDNRXNPUfEgifAKsRnrNYugVMtgpHhPUMqd in metaiosdk(xhvKRhZZTIhPZZYtqieHqfH) "_SSLSetCertificate" ,引用自:metaiosdk 中的_darwinssl_connect_common(libcurl_la-curl_darwinssl.o)
"_SecTrustGetCertificateCount",引用自:metaiosdk(libcurl_la-curl_darwinssl.o) 中的_darwinssl_connect_common
“_SecTrustGetCertificateAtIndex”,引用自:metaiosdk 中的 _darwinssl_connect_common (libcurl_la-curl_darwinssl.o) ld:未找到架构 armv7 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

然后在我删除库搜索路径后,我得到了这个:

ld /Users/capture/Library/Developer/Xcode/DerivedData/Unity-iPhone-glogufgfblmcyzasljopkkqcjtso/Build/Products/iMac.app/iMac normal armv7 cd /Users/capture/Desktop/iMacXC2 export IPHONEOS_DEPLOYMENT_TARGET=7.1 export PATH="/Applications /Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/ sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ iPhoneOS7.1。sdk -L/Users/capture/Library/Developer/Xcode/DerivedData/Unity-iPhone-glogufgfblmcyzasljopkkqcjtso/Build/Products -F/Users/capture/Library/Developer/Xcode/DerivedData/Unity-iPhone-glogufgfblmcyzasljopkkqcjtso/Build/Products -文件列表 /Users/capture/Library/Developer/Xcode/DerivedData/Unity-iPhone-glogufgfblmcyzasljopkkqcjtso/Build/Intermediates/Unity-iPhone.build/Debug-iphoneos/Unity-iPhone.build/Objects-normal/armv7/iMac.LinkFileList - dead_strip -weak_framework CoreMotion -weak-lSystem -stdlib=libstdc++ -fobjc-link-runtime -miphoneos-version-min=7.1 /Users/capture/Desktop/iMacXC2/Libraries/metaiosdk -lxml2 -framework Foundation -framework UIKit -framework OpenGLES -框架 QuartzCore -框架 OpenAL -liconv。2 -liPhone-lib -framework AudioToolbox -framework CFNetwork -framework MediaPlayer -framework CoreLocation -framework SystemConfiguration -weak_framework iAd -framework CoreMedia -framework CoreVideo -weak_framework AVFoundation -framework CoreGraphics -weak_framework CoreMotion -weak_framework GameKit -Xlinker -dependency_info -Xlinker /Users/捕获/库/开发人员/Xcode/DerivedData/Unity-iPhone-glogufgfblmcyzasljopkkqcjtso/Build/Intermediates/Unity-iPhone.build/Debug-iphoneos/Unity-iPhone.build/Objects-normal/armv7/iMac_dependency_info.dat -o /Users/捕获/库/开发人员/Xcode/DerivedData/Unity-iPhone-glogufgfblmcyzasljopkkqcjtso/Build/Products/iMac.app/iMac应用程序/iMac应用程序/iMacdat -o /Users/capture/Library/Developer/Xcode/DerivedData/Unity-iPhone-glogufgfblmcyzasljopkkqcjtso/Build/Products/iMac.app/iMacdat -o /Users/capture/Library/Developer/Xcode/DerivedData/Unity-iPhone-glogufgfblmcyzasljopkkqcjtso/Build/Products/iMac.app/iMac

ld:找不到-liPhone-lib clang的库:错误:链接器命令失败,退出代码为1(使用-v查看调用)

在我重新导入丢失的库之后,我只是继续获取​​库搜索路径错误的模式,必须重新导入库,一遍又一遍地重复,直到到达上面我需要 Unity/GlesHelper.h 的图像,在哪一点我不知所措。

4

2 回答 2

1

Metaio 需要 Unity pro 许可证,因为它是一个插件,如果没有该许可证,它将无法启动。我试图在没有许可证的情况下编译。(学过的知识)

于 2014-06-12T00:32:32.777 回答
1

没错,您确实需要 Unity Pro,但您似乎错过了Metaio Unity 入门页面中的一些步骤。您需要像之前一样拖入 metaioSDK,但您还需要添加以下框架:

libc++.dylib libxml2.2.dylib(你做了这个) Security.framework CoreImage.framework(SDK 5.5 和更新版本)

于 2015-03-30T09:05:48.903 回答