架构 i386“CScanner::CScanner(void*)”的未定义符号,引用自

Posted

技术标签:

【中文标题】架构 i386“CScanner::CScanner(void*)”的未定义符号,引用自【英文标题】:Undefined symbols for architecture i386 "CScanner::CScanner(void*)", referenced from 【发布时间】:2014-03-31 17:46:35 【问题描述】:

我已经查看了帖子中的此类错误,但其中大多数都有一个您可以追踪的 _OBJC_CLASS 名称。这个错误看起来不同。

-(void) initLocal

    m_pScanner = new CScanner(self);

类看起来像:

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

错误如下图所示:

【问题讨论】:

检查您的项目架构。您可能想为 ios 构建,但您的目标设置为 Mac OS X。 【参考方案1】:

链接器找不到函数CScanner::CScanner(void*) 的定义。上面的代码显示了该函数的声明,但没有显示它的实现。找到实现该功能的源代码文件或库,并确保将其添加到项目中。

正如 Eugene 所指出的,关于不匹配架构的链接器警告是可疑的。 CScanner::CScanner(void*) 的实现可能存在于某些体系结构中,但不适用于 i386(这是您要构建的体系结构)。

【讨论】:

可能是不支持iOS模拟器的库

以上是关于架构 i386“CScanner::CScanner(void*)”的未定义符号,引用自的主要内容,如果未能解决你的问题,请参考以下文章

i386 输入文件的架构与 i386:x86-64 不兼容

OSX:找不到架构 i386 的符号

架构 i386 的未定义符号 - Lipo 错误?

架构 i386 的未定义符号(是的,再次...)

xcode 6 - 未找到架构 i386 (zbar) 的符号

Sharekit - 架构 i386 的未定义符号: