【问题标题】:Canon SDK Initialisation Crash佳能 SDK 初始化崩溃
【发布时间】:2019-05-19 22:29:20
【问题描述】:

我目前正在尝试在 C++ 中使用 Canon SDK。 这确实是我第一次使用 SDK,我是 C++ 的初学者。

问题是,当我尝试使用 EdsInitializeSDK() 函数初始化 SDK 时,它会立即崩溃,这是错误消息:

CameraTest.exe 中的 0x00007FFA34E0121C (EDSDK.dll) 引发异常:0xC0000005:访问冲突读取位置 0x00000000B44D4740。

CameraTest.exe 中 0x00007FFA34E0121C (EDSDK.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000000B44D4740。

这里是整个代码:

#include "stdafx.h"
#include "iostream"
#include "EDSDK.h"
#include "EDSDKTypes.h"
#include "CameraModel.h"
#include "CameraModelLegacy.h"
#include "CameraController.h"
#include "CameraEventListener.h"

using namespace std;

int main(void)
{
    EdsError err = EDS_ERR_OK;
    EdsCameraListRef cameraList = NULL;
    EdsUInt32 count = 0;
    EdsCameraRef camera = nullptr;
    bool isSDKLoaded = false;

    err = EdsInitializeSDK();
    system("pause");
    if (err == EDS_ERR_OK) {
        cout << "SDK INITIALISED" << endl;
    } else {
        cout << "SDK INITIALISATION FAILED WAIT FOR EXIT" << endl;
        system("pause");
        exit(84);
    }
    cout << err << endl;
    err = EdsGetCameraList(&cameraList);
    cout << err << endl;
    if (err == EDS_ERR_OK) {
        cout << "Camera List Ok" << endl;
        err = EdsGetChildCount(cameraList, &count);
        cout << "Count : " << count << endl;
        if (count == 0) {
            err = EDS_ERR_DEVICE_NOT_FOUND;
        }
    }
    else {
        cout << "No Camera List" << endl;
    }
    if (err == EDS_ERR_OK) {
        cout << "It worked" << endl;
        err = EdsGetChildAtIndex(cameraList, 0, &camera);
    } else {
        cout << "It didnt worked" << endl;
    }
    system("pause");
}

如果我删除 EDSInitializeSDK 函数,它不会崩溃。 你知道什么是问题吗? 谢谢。

【问题讨论】:

  • 尝试一些更简单的方法:只需调用初始化函数和发布函数。并检查这两个函数的文档。
  • @ZDF 感谢您的回答。我已经尝试过这样做,它仍然崩溃。
  • 在调用初始化函数之前有什么需要设置的吗?司机?是否安装了其他 DLL?

标签: c++ sdk crash access-violation


【解决方案1】:

好的,所以答案很简单。 当我连接相机时,会出现一个名为“EOS Utility 3”的软件。 它的问题是,当我关闭它(并确保它真的关闭而不是减少)时,它就可以工作。 谢谢你的帮助。 (我在佳能 EOS 1300D 上使用佳能 EDSDK 3.6.1 版)

【讨论】:

    猜你喜欢
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多