2

Unity がインストールされた Mac で Mono を使用しています。

http://www.mono-project.com/Mono:Runtime:Documentation:AOTページには、aot オプションを指定した mono コンパイラは .so ファイルを生成する必要があると記載されています。

私が得るのはdylibファイルです。

私の目標は、マネージド c# dll ファイルから so ファイルを生成することです。

コマンドと出力 (ターミナル) は次のとおりです。

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.

アセンブラーとリンカーのパラメーターに問題があると思いますが、それらを変更するオプションはありません ( http://mono.wikia.com/wiki/Man_monoを参照) 。

(Unity IDE からビルドすると、Unity は mono と aot を使用し、XCode/iOS 用の .s ファイルを生成します。)

4

1 に答える 1

1

.sos は Linux バイナリであるため、事前に Linux でコンパイルする必要があります。代わりに OS X でこれを行うと.dylib、OS X ライブラリ バイナリであるため、 が得られます。Mac に Linux バイナリがあったとしても、それは役に立ちません。

于 2013-12-11T04:19:08.257 に答える