链接libz.dylib和libsqlite3.dylib是Xamarin的iOS项目(Linkin

2019-10-22 17:35发布

我创建了一个需要以下框架一个Xamarin的iOS结合项目:

SystemConfiguration.framework
CoreTelephony.framework
libz.dylib
libsqlite3.dylib

我说在我的iOS结合项目的linkwith.cs文件中的以下行:

Frameworks = "SystemConfiguration CoreTelephony"

这似乎正常工作,并告诉该项目包括这些框架结合时。 从我看过,这听起来像其余2个库需要在项目指的是从我的iOS结合项目生成的DLL添加为连接标志。 所以,我创建了一个测试程序,进口DLL,现在需要添加链接的标志,但我的项目无法找到正确的库。

在Xamarin Studio中我的连接标志如下:

-gcc_flags "-lz -lsqlite3.0"

当我建立我Xamarin测试程序,我得到无法找到关于框架的一些错误。 是否有需要链接或做我需要做一些额外的配置在我的iOS结合项目的其他标志?

Answer 1:

我发现了一个巨大的资源: http://ipixels.net/blog/specify-extra-gcc-flags-for-native-library-binding-in-xamarin-ios/

我需要添加LinkerFlags = "-lz -lsqlite3.0"我.linkwith.cs文件。 然后我重建库生成一个新的DLL,并将此向我​​的测试应用程序。 测试程序建立正确即可。



Answer 2:

如果您要创建您的绑定使用记号笔一个cocoapod:

sharpie pod init ios nameOfCocoaPod
sharpie pod bind

你得到一个nameOfCocoaPod.framework文件的.cs结合文件。

该nameOfCocoaPod.framework文件应在本地引用添加到您的结合项目。 要更改如框架或LinkerFlags,单击鼠标右键,打开属性。



文章来源: Linking libz.dylib and libsqlite3.dylib in Xamarin iOS Project