动态链接库和pybind11
构建
- 为了在C++项目下直接测试该DLL,在头文件中也需要暴露dll的API.
如果需要生成python可调用的pyd模块, 需要include python解释器的include目录和boost目录、site-packages下的pybind11de include目录,
另外还需要添加python的libs目录和boost目录下的编译完的stage下的lib目录。
链接python*.lib
|
- .cpp
源文件中暴露python可调用的接口,代码实现后
PYBIND11_MODULE(className, m) { |
测试
设置好dll项目的生成后事件,将生成好的链接库拷贝到指定目录,例如
xcopy /y /d “$(OutDir)fixedFFTDLL.pyd” “$(SolutionDir)..\DLLTest\bin”随后在测试项目中链接该库,但是一般写给python调用的库都是需要传入python中的变量把比如numpy的数组,这时候需要在测试项目中添加python的目录和链接库,参考构建。
此外还需要include对应的numpy
// #include ... |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 雷子集中营!