1.首先打开项目属性,将配置属性改为release x64,然后更改配置类型为.dll模式。
2 选择“高级”,将目标文件扩展名设置为.dll。
3.配置VC++目录中的包含目录。
4.更改库目录。
5.更改“C/C++"中的附加包含目录(可选)。
6.更改”链接器“中的附加库目录。(前面两个目录可选)
7.都更改好后(示例pybind11使用方法)
// sr_api_cpp_sample.cpp: main project file
#include "SR_API_public.h"
#include <string.h>
#include <iostream>
#include <ctime>
#include <Windows.h>
#include <string>
#include <sstream>
#include "SensorManager.h"
#include "SampleRunner.h"
#include "CppSamples.h"
#include<pybind11/pybind11.h>
#include <pybind11/numpy.h>
#include <pybind11/stl.h>
void PilImageSample()
{
pybind11::gil_scoped_release release;
SensorManager sensorManager;
SharedPtr<Sensor> sensor = sensorManager.CreateSensor("sensor 0", "192.168.71.200", 40);
sensor->Connect();
sensor->LoadParameterSet(Sensor::Snapshot3dParameterSet);
sensor->Configure3DImageAquisition(ImageAquisitionType_ProfileIntensityLaserLineThickness, 250);
sensor->SendParameterSet();
sensor->SetMetaDataExportEnable(true);
sensor->StartAcquisition();
sensor->WaitForAcquisitionCycle(1);
sensor->StopAcquisition();
sensor->ShowsScanRate();
sensor->GetLastImageData()->SavePilImage("PilImageSample_PilImage");
sensor->ExportMetaData("PilImageSample_meta_data.txt");
sensor->Disconnect();
pybind11::gil_scoped_acquire acquire;
}
PYBIND11_MODULE(PIL_Test, m) {
m.def("PIL_py", &PilImageSample, "PILTEST");
}
"PIL_py",是你在python中调用的函数名,点击生成解决方案,会生成如下路径的dll文件,将其重命名为.pyd格式的文件,sr_api_samples.dll改为sr_api_samples.pyd,将这个pyd复制到python项目目录下即可调用。(python在代码中import这个pyd时会标红但不影响运行)