0

我正在尝试开始使用 EDSDK 来控制我的佳能 500D。我是 cpp 和 windows XP 应用程序的新手,我正在使用 Visual Studio。经过大量的盲目试验和错误后,我终于设法让应用程序编译文档中的基本示例代码。为此,我将 EDSDK.h、EDSDKTypes.h 和 EDSDKErrors.h 标头放在正确的位置,并将 EDSDK.dll 和 EDSDK.lib 与代码放在同一文件夹中。它似乎正在捡起这些。我已经让 500D 被 PC 识别,所以我相信 USB 驱动程序在那里。

该代码只是试图拿起相机:

    EdsError 错误=EDS_ERR_OK;
    EdsCameraListRef cameraList=NULL;
    错误 = EdsGetCameraList(&cameraList);
    如果(错误 == EDS_ERR_OK)
    {...}

但是,当我运行此控制台应用程序时,错误被拾取为 10 - 根据文档,这表明缺少子组件。无论相机是否连接都会发生这种情况,所以我认为这是编译中缺少的东西。但是我对文档一无所知。

我已经从下载而不是官方途径安装了 edsdk 2.4 Windows 版本,所以这可能是一个问题。

任何人都可以帮忙吗?具体来说,我怎样才能找出丢失的子组件可能是什么,以便我可以包含它。这是构建的子组件,例如头文件还是驱动程序?

4

1 回答 1

0

我知道,老问题,但它仍然可以帮助有同样问题的人。

从文档中:

执行 EDSDK 客户端应用程序需要所有 DLL。DLL 文件夹中的所有模块都必须复制到 EDSDK 客户端应用程序所在的同一文件夹中。

这意味着您必须在 *.exe 旁边拥有所有 DLL。即这些DLL:

  • DPPDLL.dll
  • DPPLibCom.dll
  • DPPRSC.dll
  • EDSDK.dll
  • EdsImage.dll
  • Mlib.dll
  • Ucs32P.dll
于 2014-04-14T14:26:03.717 回答