Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin iOS-绑定库时如何包含依赖项?_C#_Ios_Xamarin.ios_Xamarin - Fatal编程技术网

C# Xamarin iOS-绑定库时如何包含依赖项?

C# Xamarin iOS-绑定库时如何包含依赖项?,c#,ios,xamarin.ios,xamarin,C#,Ios,Xamarin.ios,Xamarin,我有一个Obj-C本机库libCMX.a,我希望为其创建C#绑定,但该库有多个依赖项,例如,有几个.m和.h文件 如何将它们包含在Xamarin绑定项目中,以便将它们正确链接到生成的DLL中 我知道我可以在LinkWith属性中指定Frameworks,但是如何以主文件和头文件的形式包含纯代码依赖关系 编辑:该库是专有的(Cisco CMX SDK),我没有访问源代码的权限 编辑2:该库是一个框架(CMX.framework)的一部分,我从中提取了无扩展归档文件并将其重命名为libCMX.a,以

我有一个Obj-C本机库
libCMX.a
,我希望为其创建C#绑定,但该库有多个依赖项,例如,有几个
.m
.h
文件

如何将它们包含在Xamarin绑定项目中,以便将它们正确链接到生成的DLL中

我知道我可以在
LinkWith
属性中指定
Frameworks
,但是如何以主文件和头文件的形式包含纯代码依赖关系

编辑:该库是专有的(Cisco CMX SDK),我没有访问源代码的权限


编辑2:该库是一个框架(CMX.framework)的一部分,我从中提取了无扩展归档文件并将其重命名为libCMX.a,以匹配Xamarin的默认库命名。

您需要将它们编译到静态库(libMyLibrary.a)中您正在绑定到C#。

您可以在绑定项目中引用多个本机库,组合的库集将链接到您的应用程序中


您只需要为要调用/调用的库呈现API。对于其余部分,只包括二进制依赖项。

不幸的是,我无法访问源代码,因为它是专有的(Cisco CMX SDK)。是否有可能创建一个新的静态库,将此库与其依赖项结合起来?您确定这些依赖项尚未编译到库中吗?如果这是一个iOS库,那么它们应该已经在那里了,因为iOS不允许第三方动态依赖关系。该库是框架(CMX.framework)的一部分。我看到的示例应用程序直接使用了该框架,并且在iOS项目中使用了JASidePanels.m和-.h文件,因此依赖项似乎还没有编译到库中。此外,框架中没有第三方依赖项的标题,只针对CMX SDK。也许我更愿意创建一个新的框架,其中包括CMX.framework和第三方依赖项,这样行吗?可以看出,我在Xcode开发方面没有太多经验……所以我会用JASidePanels.m和.h文件创建一个静态库?我最终创建了一个单独的静态库,其中包含所有必要的第三方依赖项,然后在iOS绑定项目中链接这两个库。使用来自的makefile为iPhone和模拟器创建通用二进制文件。