0

首先,我在将 IQ 引擎的 VisionIQ ios-sdk 源代码添加到我的项目路径时收到错误,因此我根据在线 Objective-C/iOS 论坛将 Objective-C 自动引用计数设置为“否”。这消除了这些错误。

之后,我开始收到“链接器命令失败,退出代码为 1”的错误,以及有关链接器的警告。有关完整的措辞,请参见下文。

 ld: warning: ignoring file /Users/steve_markey_99/Desktop/iqengines/IQEnginesSDK/Local/libIQEnginesLocal.a, missing required architecture i386 in file

ld: duplicate symbol _main in /Users/steve_markey_99/Library/Developer/Xcode/DerivedData/Appnosis5-aavlzfkfrroooycvukmcvhdhccik/Build/Intermediates/Appnosis5.build/Debug-iphonesimulator/Appnosis5.build/Objects-normal/i386/main-5EBE64A76029E73E.o and /Users/steve_markey_99/Library/Developer/Xcode/DerivedData/Appnosis5-aavlzfkfrroooycvukmcvhdhccik/Build/Intermediates/Appnosis5.build/Debug-iphonesimulator/Appnosis5.build/Objects-normal/i386/main-FE71900E2479E387.o for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这是我的系统信息:

Apple LLVM 编译器 3.1(更改为 LLVM GCC 4.2 时出现更多错误)

Xcode 4.3.3

MacBook OS X 10.7.4

IQ 引擎 VisionIQ ios-sdk(2012 年 7 月 5 日下载)

iOS SDK 5.1

链接时间优化 = “否”

有一个建议我去:“为项目中包含的静态库构建设置,确保禁用链接产品(.a 文件)的剥离或设置为仅剥离调试符号。”

我在这里看不到要更改的参数/参数?这是一个准确的解决方案吗?如果是这样,我该怎么做?

仅供参考,我已经联系了 IQ Engines 支持人员。在我等待的时候在这里寻找第二个意见。

PS 我没有看到任何来自 IQ Engines 的文档说 API 不在 i386 芯片组上运行。不过,我的蜘蛛侠常识说这就是问题所在……想法?

非常感谢!

史蒂夫-o

4

2 回答 2

1

ld:重复符号_main

你确定你没有包含另一个源文件包含

int main(int argc, char** argv)

?

于 2012-07-06T18:48:54.597 回答
0

很多时候,您收到 i386 链接器错误是因为您没有包含或错误地包含必要的框架/库。我对 VisionIQ 和所需库的经验为零,因此除了尝试解释错误消息之外,我无能为力。您应该尝试开始一个新项目,看看是否可以重新包含他们的库,然后构建项目。

此外,正如 Martin 和 Dustin 所提到的,关于重复的主要符号的第二个错误值得研究。

于 2012-07-06T21:17:22.183 回答