在Xamarin Visual Studio中链接本机.so项目中的未定义链接

时间:2018-07-03 11:10:28

标签: visual-studio-2015 xamarin.android monodevelop

方法1。

我在VS2015中有两个本地项目。两者都产生共享的.so文件。第二个项目依赖于第一个项目,并在vs2015中添加为第二个项目的参考。

一切都可以编译和链接

在Xamarin项目中加载第二个项目.so文件时,加载失败,因为第一个项目的URI指向本地磁盘上的文件,即使加载路径正确,第二个.so文件也不会加载因为dlopen找不到第一个.so文件。

方法2。

如果我不是将项目添加为参考(就像您通常在Studio项目中所做的那样),我会使用-L向第一个so文件添加路径,并将链接器选项设置为使用-l使用lib,它将编译就像第一种方法一样。

但是,现在在Xamarin中加载第二个.so文件时,第一个.so文件可以通过dlopen正常加载。

我认为它是一个错误,该错误打破了方法1不起作用的正常行为和预期行为,并且我已经看到使用“ dllimport”失败的许多错误以及不同的答案,这表明这是问题所在,但并非真正的解决方案。 / p>

好的方法2可以用,但是它不是您通常在Studio中设置库使用方式的方法,并且您也会错过依赖关系。

0 个答案:

没有答案