Affectiva emotion SDK — исключение, генерируемое при вызове .setLicensePath () и setClassifierPath ()

Я пытаюсь использовать Affectiva emotion SDK для создания демонстрационной программы. Тем не менее, когда я звоню detector.setLicensePath()Возникает исключение (см. изображение ниже). Кто-нибудь знает, как решить эту проблему?

Код похож на это:

const std::wstring AFFDEX_DATA_DIR = L"C:\\Program Files (x86)\\Affectiva\\Affdex SDK\\data";
…
…
photoDetector.setLicensePath(AFFDEX_DATA_DIR);

введите описание изображения здесь

2

Решение

Если setLicensePath и / или setClassifierPath возвращают исключение std :: length_error, это означает, что используемая вами библиотека SDK, вероятно, не соответствует конфигурации, которую вы используете для сборки вашего двоичного файла. Например, если вы работаете в режиме отладки, но используете версию выпуска SDK DLL, вы получите это исключение. Конфигурация должна соответствовать версии используемой вами DLL. Я сам получил эту ошибку и только что обновил документацию: http://developer.affectiva.com/windows/#configuring-a-detector

1

Другие решения

Если вы используете последнюю версию, вам нужно предоставить файл лицензии (а не папку):

const std::wstring AFFDEX_LICENSE_FILE = L"C:\\Program Files (x86)\\Affectiva\\Affdex SDK\\data\\affdex.license";
videoDetector.setLicensePath(AFFDEX_LICENSE_FILE);
1