Проблемы с внедрением QRCodeReader (ZXing)
-
27-10-2019 - |
Вопрос
Итак, я выполнил указанные здесь шаги: http://zxing.googlecode.com / svn / trunk / iphone / README
И я убедился, что все в порядке, но мой QRCodeReader не распознается в файле myVC.mm.
Вот какова ситуация:
Проект помещен в мой собственный проект, как описано по ссылке.
Я импортировал код #import "ZXingWidgetController.h"
в файл заголовка, и он распознается.
Я импортировал код #import "QRCodeReader.h"
в файл реализации (.mm)
Затем я назначил их обоим целевым методом такой кнопки:
Теперь он говорит мне, что проблема:
родовое слово Здесь написано: Use of undeclared identifier 'QRCodeReader'
- Почему мой импорт QRCodeReader не отображается в кажущемся .mm файл?
- Что я забыл, чего нет в описании, которое я использовал?
- И самое главное, как мне исправить это, чтобы распознать QRCodeReader?
Решение
Обычный код C ++ (не Objective C ++) использует пространства имен C ++.
Вам нужно либо сказать zxing::qrcode::QRCodeReader
, либо использовать операторы using
, например
Обновление :
В приведенном выше коде присутствует класс C ++, но на самом деле существует класс виджетов с тем же именем, о котором я забыл.Это класс Objective C, который является оболочкой для класса C ++, и это то, что вам нужно.Вместо приведенного выше кода просто сгенерируйте код ... как вы сказали, что сделали.Я ожидаю, что два файла с одинаковым именем сталкиваются.Вы установили опцию «рекурсивный» при включении файлов cpp?README говорит «не нужно», но, вероятно, должен сказать «не должен».Это могло привести к включению файла cpp, а не версии виджета.
Другие советы
У меня была точно такая же проблема в конце концов, решение было довольно простым.
Я поместил файл .mm с «Местоположение» -> «Относительно проекта».
Надеюсь на эту помощь