我想创建一个.Net标准类库,它具有某种本机依赖性,我希望在所有支持的平台上预先构建.so / .dll;为了我自己的目的,我想建立一个图书馆的OpenCL。
我在dotnet/corefx注意到,有几个组件具有特定于平台的依赖关系。这是怎么回事?我该如何创建这样的项目?
编辑:要指定我的问题,让我们说我想创建一个Visual Studio .Net标准类库项目,我可以在不同的平台上使用不同的opencl动态库(P /调用OpenCL API正是我所需要的)。这该怎么做? (不使用OpenCL.Net,因为自2013年以来它还没有更新。)
答案 0 :(得分:0)
似乎我自己想出来了......
对于可能依赖于平台特定代码和依赖关系的一般项目,解决方案是为不同平台提供不同的配置,如果遵循corefx的做法。
对于这种情况,我想要P / Invoke OpenCL接口,最好的方法是简单地使用DllImport
结合条件编译(#if
),从而引用不同配置中的不同动态库( Win32,Win64,Linux,OSX等)。