前言
(待补充)
一、文档脉络图
二、使用记录
- EDSDK和EDSDK_64两个文件夹,我判断分别为x86和x64的库文件,包含dll、lib和h文件,其中x64版本没有h文件有些奇怪。
- VC例程文件夹中有一份pdf文档,考虑是SDK的使用说明。
- 使用VC版本的Sample工程。
(1)初始是vc12,默认打开为vs2013,打开后运行报错,显示无v141工具集,网上查找显示需要点击“项目->重定解决方案目标”,但在vs2013中未找到相应按钮;
(2)改用vs2017打开,打开后切换x64版本,配置dll、lib、h以后,运行报错;
(3)切换回x86版本,运行正常,没有相机情况下显示弹窗“cannot detect camera”。 - 单步执行程序,MFC的库代码执行到CameraControl.cpp中的虚函数InitInstance(),可以看到函数中的调用顺序如下(不完整,待使用后补充清楚完整的调用逻辑)。
InitCommonControls();
EdsInitializeSDK();
EdsGetCameraList(&cameraList);
EdsGetChildCount(cameraList, &count);
EdsGetChildAtIndex(cameraList , 0 , &camera);
EdsGetDeviceInfo(camera , &deviceInfo);
EdsRelease(cameraList);
cameraModelFactory(camera, deviceInfo);
_controller = new CameraController();
CCameraControlDlg view;
_controller->setCameraModel(_model);
_model->addObserver(&view);
view.setCameraController(_controller);
- 自己写的demo调用范例。(待补充)
总结
(待补充)