我正在向我的C ++项目添加非社会SQLite源代码并获得链接器错误

时间:2012-11-07 16:01:20

标签: c++ sqlite linker

在我的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)

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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