Неопределенные символы для архитектуры i386 "CScanner::CScanner(void*)", на которую ссылаются из

Я рассмотрел подобные ошибки в сообщениях, но у большинства из них есть имя _OBJC_CLASS, которое вы можете отследить. Эта ошибка выглядит иначе.

-(void) initLocal
{
    m_pScanner = new CScanner(self);
}

и класс выглядит так:

class CScanner : public SmartcodeDecoder::Observer {
public:
    CScanner(void* pControler);
};

Ошибка выглядит следующим образом:введите описание изображения здесь

1 ответ

Компоновщик не может найти определение функции CScanner::CScanner(void*), Приведенный выше код показывает объявление этой функции, но не ее реализацию. Найдите файл исходного кода или библиотеку, которая реализует эту функцию, и убедитесь, что она добавлена ​​в проект.

Как отметил Евгений, предупреждение компоновщика о несовпадении архитектур подозрительно. Возможно, что реализация CScanner::CScanner(void*) присутствует для некоторых архитектур, но не для i386 (который вы пытаетесь построить).

Другие вопросы по тегам