【发布时间】:2012-04-06 07:38:28
【问题描述】:
谁能解释一下这里发生了什么。如果我在项目构建选项中为链接器行为选择链接所有程序集或仅链接SDK程序集,则会出现以下链接错误在我的静态库 libUltralite.a 中。
Undefined symbols:
"_SecRandomCopyBytes", referenced from:
_zcbdb539311e3 in libUltralite.a(03b1278799.o)
"_SecTrustSetAnchorCertificates", referenced from:
zda160c9852f6::z41eb5883fa2f(__CFArray const*) in libUltralite.a(fb6da25cb9.o)
"_SecKeyGetBlockSize", referenced from:
_zd0743c47573a in libUltralite.a(f43c4e48ce.o)
"_SecCertificateCopySubjectSummary", referenced from:
zda160c9852f6::z41eb5883fa2f(__CFArray const*) in libUltralite.a(fb6da25cb9.o)
"_SecPolicyCreateSSL", referenced from:
zda160c9852f6::z41eb5883fa2f(__CFArray const*) in libUltralite.a(fb6da25cb9.o)
"_SecTrustCopyPublicKey", referenced from:
_z2cfcc7397b7e in libUltralite.a(f43c4e48ce.o)
"_SecTrustCreateWithCertificates", referenced from:
zda160c9852f6::z41eb5883fa2f(__CFArray const*) in libUltralite.a(fb6da25cb9.o)
_z2cfcc7397b7e in libUltralite.a(f43c4e48ce.o)
"_SecCertificateCreateWithData", referenced from:
zda160c9852f6::z635831b310af(unsigned char*, unsigned long)in libUltralite.a(fb6da25cb9.o)
_z2cfcc7397b7e in libUltralite.a(f43c4e48ce.o)
"_kSecRandomDefault", referenced from:
_kSecRandomDefault$non_lazy_ptr in libUltralite.a(03b1278799.o)
(maybe you meant: _kSecRandomDefault$non_lazy_ptr)
"_SecKeyEncrypt", referenced from:
_zb27eee72717c in libUltralite.a(f43c4e48ce.o)
"_SecPolicyCreateBasicX509", referenced from:
_z2cfcc7397b7e in libUltralite.a(f43c4e48ce.o)
"_SecTrustEvaluate", referenced from:
zda160c9852f6::z41eb5883fa2f(__CFArray const*) in libUltralite.a(fb6da25cb9.o)
_z2cfcc7397b7e in libUltralite.a(f43c4e48ce.o)
如果我为链接器行为选择了不链接,那么链接工作并且不会引发任何错误,但应用程序在实际启动时崩溃苹果手机。该应用程序不会在模拟器上崩溃,它只会在实际的 iphone 上崩溃。 (是的,我确实为实际设备重新编译了我的静态库...所以所包含的库适用于正确的平台)。
我的additional mtouch arguments项目下build选项如下:
-v -v -v -gcc_flags "-lstdc++ -I${ProjectDir}/Ultralite/Include -L${ProjectDir}/Ultralite -lUltralite -force_load ${ProjectDir}/Ultralite/libUltralite.a"
我从一个简单的示例中得出结论,MonoTouch 在模拟器和实际设备上正常工作,链接器行为设置为 仅链接 SDK 程序集,但我需要找出为什么使用此选项集链接到我的静态库无法正常工作。如果有人能阐明我遇到的链接错误或提出解决方法以使我的应用程序与此链接器行为选项集正确链接,我将不胜感激。
【问题讨论】:
标签: iphone ios4 xamarin.ios