如何将框架libz.dylib和libxml2.dylib添加到MonoTouch中的gcc_flags参数?

Bru*_*ill 4 c# dylib monodevelop xamarin.ios ios

我有一个Objective C静态库,我试图使用btouch导入MonoTouch.我遇到的问题是,库依赖于libz.dylib和libxml2.dylib,我不知道如何在我的MonoTouch应用程序中包含这些框架.

我在XCode项目中测试了静态库,这个测试应用程序编译并正确运行.我现在正在尝试在MonoTouch中构建完全相同的示例应用程序,并且在获取正确的gcc_flags参数时遇到问题,以便包含所有依赖项.

在XCode应用程序中,需要包含以下框架:

 UIKit.framework
 CFNetwork.framework
 CoreGraphics.framework
 Foundation.framework
 MobileCoreServices.framework
 SystemConfiguration.framework
 libz.dylib
 libxml2.dylib
Run Code Online (Sandbox Code Playgroud)

此外,在XCode中,我必须包含以下搜索路径才能找到所有必需的头文件:"$(SDK_DIR)"/ usr/include/libxml2

现在,在MonoTouch中,我在构建选项下的gcc_flags中设置了以下内容:

 -v -v -v -gcc_flags "-framework CFNetwork -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework SystemConfiguration -I${ProjectDir}/lib/include -I$(SDK_DIR)/usr/include/libxml2 -L${ProjectDir}/lib/ -lOfflineRequest -force_load ${ProjectDir}/lib/libOfflineRequest.a"
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,我得到一个很长的链接错误列表,据我所知,这是由链接期间未包含的libz.dylib和libxml2.dylib引起的.有谁知道如何确保这些包含在MonoTouch中?

pou*_*pou 6

尝试将"-lz -lxml2"添加到您已有的--gcc_flags中.这将指示gcc在链接应用程序时添加libz和libxml2.

如果这不起作用,请发布完整的构建日志(编辑您的消息或填写bugzilla.xamarin.com中的错误报告并附加构建日志).