无法使用Xamarin.iOS在发布模式下构建ICSharpCode.SharpZipLib.dll - 错误MT3001:无法对组件进行AOT

时间:2013-06-23 10:53:56

标签: iphone xamarin.ios

尝试使用Xamarin.iOS在iPhone的调试模式下构建流行的库ICSharpCode.SharpZipLib.dll时,一切正常。当我切换到发布模式时,我收到此错误:

error MT3001: Could not AOT the assembly

当我打开详细输出时,这是我得到的:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc      -miphoneos-version-min=4.3 -arch armv7  -std=c99 -I/Developer/MonoTouch/SDKs/MonoTouch.iphoneos.sdk/usr/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -c /var/folders/kn/1j5jxvv131zcyqmgy3yj_xfw0000gn/T/tmp13a8fd89.tmp/System.Data.dll.armv7.s -o /var/folders/kn/1j5jxvv131zcyqmgy3yj_xfw0000gn/T/tmp13a8fd89.tmp/System.Data.dll.armv7.o
error MT3001: Could not AOT the assembly '.../bin/iPhone/Release/ICSharpCode.SharpZipLib.dll'
  at MTouch.GetObjectFileForAssembly (System.String assemblyName, Abi abi) [0x00000] in <filename unknown>:0 
  at MTouch+<CompileAssemblies>c__AnonStoreyB.<>m__E (System.String s) [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Parallel+<ForEach>c__AnonStorey36`1[System.String].<>m__34 (System.String e, System.Threading.Tasks.ParallelLoopState s, System.Object l) [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Parallel+<ForEach>c__AnonStorey35`2[System.String,System.Object].<>m__32 () [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.TaskActionInvoker+ActionInvoke.Invoke (System.Threading.Tasks.Task owner, System.Object state, System.Threading.Tasks.Task context) [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Task.InnerInvoke () [0x00000] in <filename unknown>:0 
  at System.Threading.Tasks.Task.ThreadStart () [0x00000] in <filename unknown>:0 

这是在LLVM打开并且SGen打开的情况下。当我按照此(Mono ARMv7 and LLVM)帖子中的建议关闭SGen时,我得到完全相同的MT3001错误。

当我关闭关闭 LLVM时,它再次起作用。问题是我需要LLVM。

如何在不关闭LLVM的情况下在Monotouch / Xamarin.iOS中构建这个通用库?非常感谢任何帮助。

0 个答案:

没有答案