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

发布于 2024-11-29 10:18:00 字数 1047 浏览 0 评论 0原文

我有一个 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

另外,在 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"

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

I have an Objective C static library that I am trying to import into MonoTouch using btouch. The problem that I am encountering, though, is that the library depends on libz.dylib and libxml2.dylib and I do not know how to include these frameworks in my MonoTouch application.

I have tested the static library in an XCode project and this test application compiles and runs correctly. I am now trying to build exactly the same sample application in MonoTouch, and am having problems getting the gcc_flags arguments right so that all the dependencies are included.

In the XCode application, the following frameworks needed to be included:

 UIKit.framework
 CFNetwork.framework
 CoreGraphics.framework
 Foundation.framework
 MobileCoreServices.framework
 SystemConfiguration.framework
 libz.dylib
 libxml2.dylib

Also, in XCode, I had to include the following search path for it to find all the required header files: "$(SDK_DIR)"/usr/include/libxml2

Now, in MonoTouch I have the following set in my gcc_flags under the build options:

 -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"

When I try compile I get a long list of linking errors, which as far as I can tell are caused by libz.dylib and libxml2.dylib not being included during the linking. Does anyone have any idea how I can ensure that these get included in MonoTouch?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一绘本一梦想 2024-12-06 10:18:00

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

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

Try adding "-lz -lxml2" to the --gcc_flags you already have. That will instruct the gcc to add libz and libxml2 when linking the application.

If this does not work then please post the full build log (edit your message or fill a bug report in bugzilla.xamarin.com and attach the build log).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文