1

这在我的 C++ 项目中指的是哪种链接错误?我唯一想到的是 SQLite3 标头是项目的一部分。

duplicate symbol _main in:
/Users/.../Build/Intermediates/AssetInspector.build/Debug-iphoneos/AssetInspector.build/Objects-normal/armv7/main.o
/Users/.../Build/Intermediates/AssetInspector.build/Debug-iphoneos/AssetInspector.build/Objects-normal/armv7/shell.o
ld: 2 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

2 回答 2

3

问题是函数 main 是在 main.c 和 shell.c 中定义的。

您应该只链接那些 .c 文件中的一个目标文件,而不是两者

于 2012-11-07T16:04:29.450 回答
2

将 SQLite 合并编译到您的项目中时,使用该sqlite3.c文件。不需要其他文件。(shell.csqlite3命令行工具的源代码。)

于 2012-11-07T16:35:06.307 回答