C# Mono AOT编译-如何获取.so文件?
我在Mac上使用Mono,安装了Unity 该页面说明,带有aot选项的mono编译器应生成.so文件 我得到的是一个动态库文件 我的目标是从托管的c#dll文件生成so文件 以下是命令和输出(在终端中): 我猜汇编程序和链接器的参数有问题,但我没有更改这些参数的选项(请参阅)C# Mono AOT编译-如何获取.so文件?,c#,macos,compilation,mono,C#,Macos,Compilation,Mono,我在Mac上使用Mono,安装了Unity 该页面说明,带有aot选项的mono编译器应生成.so文件 我得到的是一个动态库文件 我的目标是从托管的c#dll文件生成so文件 以下是命令和输出(在终端中): 我猜汇编程序和链接器的参数有问题,但我没有更改这些参数的选项(请参阅) (当从Unity IDE构建时,Unity使用mono和aot并为XCode/iOS生成.s文件。)。因此s是Linux二进制文件,因此您必须在Linux上提前编译。当您在OSX上执行此操作时,会得到一个.dylib,因
(当从Unity IDE构建时,Unity使用mono和aot并为XCode/iOS生成.s文件。)
。因此
s是Linux二进制文件,因此您必须在Linux上提前编译。当您在OSX上执行此操作时,会得到一个.dylib
,因为这是一个OSX库二进制文件。即使你的Mac上有一个Linux二进制文件,它对你也没用
Gerleis-Mac:CrazInvaders gerleim$ /Applications/Unity/MonoDevelop.app/Contents/Frameworks/Mono.framework/Versions/2.10.2/bin/mono --aot -O=all iOSBuild/Data/Managed/Assembly-CSharp.dll
Mono Ahead of Time compiler - compiling assembly /Users/gerleim/Desktop/CrazInvaders/iOSBuild/Data/Managed/Assembly-CSharp.dll
Code: 2217337 Info: 87704 Ex Info: 56841 Unwind Info: 80 Class Info: 4663 PLT: 5477 GOT Info: 364454 GOT: 35852 Offsets: 109275
Executing the native assembler: as -arch i386 -W -o /var/folders/b4/4tgynrr570zd5qdng_4ljs9m0000gn/T/mono_aot_uGBs4E.o /var/folders/b4/4tgynrr570zd5qdng_4ljs9m0000gn/T/mono_aot_uGBs4E
Executing the native linker: gcc -m32 -dynamiclib -o /Users/gerleim/Desktop/CrazInvaders/iOSBuild/Data/Managed/Assembly-CSharp.dll.dylib.tmp /var/folders/b4/4tgynrr570zd5qdng_4ljs9m0000gn/T/mono_aot_uGBs4E.o
Compiled 12759 out of 12761 methods (99%)
2 methods have other problems (0%)
Methods without GOT slots: 8190 (64%)
Direct calls: 716 (20%)
JIT time: 1427 ms, Generation time: 1045 ms, Assembly+Link time: 1712 ms.