Я пытаюсь начать работу с EDSDK для управления моим Canon 500D. Я новичок в приложениях cpp и windows XP и использую visual studio. После большого количества слепых проб и ошибок мне наконец-то удалось заставить приложение скомпилировать базовый пример кода из документации. Для этого у меня есть заголовки EDSDK.h, EDSDKTypes.h и EDSDKErrors.h в нужных местах, а EDSDK.dll и EDSDK.lib в той же папке, что и код. Похоже, что собираешь их. У меня есть 500D, который распознается ПК, поэтому я считаю, что драйверы USB есть.
Код просто пытается поднять камеру:
EdsError err = EDS_ERR_OK; EdsCameraListRef cameraList = NULL; err = EdsGetCameraList (cameraList); если (err == EDS_ERR_OK) {...}
Однако, когда я запускаю это консольное приложение, ошибка принимается равной 10, что, согласно документу, указывает на отсутствие подкомпонента. Это происходит как в том случае, если камера подключена или нет, так что я думаю, что этого не хватает в компиляции. Но я ничего не получаю с документацией.
Я установил версию Windows edsdk 2.4 из загрузки, а не по официальному маршруту, так что это может быть проблемой.
Кто-нибудь может помочь? В частности, как я могу узнать, что может быть отсутствующим подкомпонентом, чтобы я мог включить его. Является ли это субкомпонентом сборки как файл заголовка или что-то вроде драйвера?
Я знаю, старый вопрос, но все же он может помочь кому-то с той же проблемой.
Из документации:
Все библиотеки DLL необходимы для выполнения клиентского приложения EDSDK.
Все модули в папке DLL должны быть скопированы в ту же папку, где находится клиентское приложение EDSDK.
Это означает, что у вас должны быть все библиотеки DLL, кроме вашего * .exe. А именно эти DLL:
Других решений пока нет …