我使用 Xcode 4 创建了一个 Cocoa Touch 静态库,我想在 MonoTouch 项目中使用它。我该如何继续?
这是我的静态库的内容:
我的类.h
MyClass.m
我在关注 THIS BLOG POST 之后使用“Build For Archiving”进行构建然后我将它生成的 libMyLib.a 添加到新的 MonoTouch 绑定(bind)项目中。
然后我用.cs替换了libMyLib.link的内容,因为THIS BLOG POST我说过了。
[assembly: LinkWith ("libMyLib.a", LinkTarget.ArmV6 | LinkTarget.ArmV7 | LinkTarget.Simulator, ForceLoad = true, Frameworks="CoreGraphics QuartzCore UIKit")]
然后我将其添加到 ApiDefinition.cs
我将 StructsAndEnums.cs 留空。
然后我使用 Release 构建并从 bin 文件夹中取出 dll 并将其添加到 MonoTouch iPad 项目的根目录中,并将其添加到引用中。
然后,按照 THIS ARTICLE 中的说明进行操作,我将 mtouch 参数设置为此
-gcc_flags "-L${ProjectDir} -lMyLib -force_load -ObjC"
然后我尝试运行该项目,但在构建输出中出现此错误
error MT5201: Native linking failed. Please review user flags provided to gcc: "-L/Users/herpderp/Projects/TestProject/TestProject" "-lMyLib" -force_load "/Users/herpderp/Projects/TestProject/TestProject/libMyLib.a" "-L/Users/herpderp/Projects/TestProject/TestProject" "-lMyLib" "-force_load" "-ObjC"
最佳答案
此目录包含一个完整示例,显示了将 Objective-C 库与 MonoTouch 集成的各种方法:
https://github.com/xamarin/monotouch-samples/tree/master/BindingSample
关于ios - 如何将 Cocoa Touch 静态库链接到 MonoTouch 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10215860/