首页
学习
活动
专区
圈层
工具
发布

Xamarin
EN

Stack Overflow用户
提问于 2015-10-26 16:05:16
回答 1查看 1.3K关注 0票数 0

我用Xamarin创建了一个简单的绑定项目。绑定项目导入静态库MyLibrary.a。它还包含ApiDefinition.csStructAndEnum.cs,它们都是通过sharpie制作的。

现在,我有了一个链接绑定项目的iOS项目。为了工作,MyLibrary.a需要一些框架和库(见下文)。

为了让它发挥作用,我跟随了Xamarin文档

在iOS项目中,我添加了以下mtouch arguments (请参见附图)。

-cxx -gcc_flags "-L${ProjectDir} -framework CFNetwork -framework SystemConfiguration -framework MobileCoreServices -framework Security AVFoundation -libicucore -libxml2 -libc++ -libzd -libstdc++.6.0.9“

当我试图编译时,我总是以生成错误结尾。

错误MT5209:本机链接错误:-libicucore未找到库MTOUCH: error MT5201:本机链接失败。请查看构建日志和提供给gcc的用户标志:-L/Users/tmp/Documents/Projects/Ovp/BindinTest.iOS -framework CFNetwork -framework SystemConfiguration -framework MobileCoreServices -framework -framework AVFoundation -libicucore -libc++ -libzd -libstdc++.6.0.9 MTOUCH: error MT5202:本机链接失败。请查看生成日志。

有什么线索可以让它发挥作用吗?也许有什么东西不见了?

提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-26 19:40:34

-libicucore -libxml2 -libc++ -libzd -libstdc++.6.0.9

gcc链接的库选项不是这样传递的。

要链接驻留在libicucore.<extension>中的静态或动态库/path/to/the/lib,命令行选项如下:

代码语言:javascript
复制
-L/path/to/the/lib -licucore

注意,库名的lib前缀是在-l选项中省略的:链接器假定它。如果/path/to/the/lib是链接器默认的库搜索目录之一,那么您可以省略它。如果再看看您的Xamarin文档,您将看到libMyLibrary.a与选项-lMyLibrary相链接。

在GCC看来,关于这些链接选项的其他一些事情似乎很奇怪,但是我几乎不知道关于iOS开发的任何事情,我不会预料到你还没有遇到的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33350353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档