如何在Xamarin.Android项目中使用.so库?

时间:2019-05-06 14:16:56

标签: c++ c xamarin xamarin.android dynamic-library

嘿,我的libtest.so库中有一个用c ++编写的名为timestwo的方法。 现在,我需要在主项目(Xamarin.Android)Project accelerometer2中调用此方法。

不幸的是,只有很少的示例和说明从头开始。它们大多数是Xamarin.Forms示例或java / objective c库。我已经将我的源文件test.cpp和头文件test.h包含在一个c ++项目中。但是如您所见,我仍然无法在主要活动中调用函数。

enter image description here

public class MainActivity : Activity, ISensorEventListener
    {
        static readonly object _syncLock = new Object();
        static System.loadLibrary("libtest");

        double anothervalue = 1.0;
        double value = timestwo(anothervalue);

test.cpp:

#include "test.h"

double timestwo(double x){
    return x*2;
}

test.h:

extern "C" double timestwo(double x);

Here you can see my errors

[如何]我的主要活动需要参考吗?还是我想念什么?

更新:

enter image description here

此文件属于c#项目还是属于我的c ++项目?

internal static class Wrapper
    {
        [DllImport("libtest.so", EntryPoint = "timestwo")]   //,(EntryPoint = "timestwo")
        internal static extern double timestwo(double x);
    }

我现在已经更改了包装器,但是我的MainActivity仍然给我这个错误: 错误IDE1007当前上下文中不存在名称“ System.loadLibrary”。

0 个答案:

没有答案