Я пытаюсь интегрировать zxing в другой проект C ++. Я использую Visual Studio 2012 с Windows 7.
Я хотел бы запустить пример кода из репозитория zxing:
пример zxing
Если я компилирую свой проект, я получаю сообщение об ошибке:
zxing_integration.obj: lnk2001 неразрешенный внешний символ
zxing_integration.exe фатальная ошибка lnk1120 1 неразрешенный внешний символ
что я сделал до сих пор:
создайте консольное приложение win32 с именем zxing_integration в папке … \ workspace
создать папку … \ workspace \ git и клонировать zxing хранилище
создайте папку … \ workspace \ zxing-cpp \ build и создайте проект zxing с помощью командной строки cmake .. \ workspace \ git \ zxing-cpp -G «Visual Studio 11 2012» (я думаю, что этот шаг не необходимо)
Добавлены в настройках проекта-> C / C ++ -> дополнительные каталоги включения (все конфигурации) следующих путей: … \ workspace \ git \ zxing-cpp \ core \ src и … workspace \ git \ zxing-cpp \ cli \ SRC
После этих шагов в Visual Studio ничего не подчеркивается и не помечается красным, поэтому я думаю, что исходные файлы можно найти. Если я строю проект, я получаю две ошибки. я думаю, что компоновщику нужны файлы .lib, но я не могу найти zxing libs в проекте. Должен ли я создавать файлы lib?
Странно, что ошибка появляется в строке 258 source = ImageReaderSource::create(filename);
а не в строке 256 Ref<LuminanceSource> source;
, Кажется, что LuminanceSource
может быть найден.
Ref<LuminanceSource> source;
try {
source = ImageReaderSource::create(filename);
} catch (const zxing::IllegalArgumentException &e) {
cerr << e.what() << " (ignoring)" << endl;
continue;
}
Задача ещё не решена.
Других решений пока нет …