c++ - 我正在将官方 SQLite 源代码添加到我的 C++ 项目中,但出现链接器错误

标签 c++ sqlite linker

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

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)

最佳答案

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

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

关于c++ - 我正在将官方 SQLite 源代码添加到我的 C++ 项目中,但出现链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13273424/

相关文章:

c++ - g++ -Wl,-z,nocopyreloc 重定位错误

c++ - 成员函数模板不能声明为虚拟 - 来自 Addison Wesley : C++ Templates

c++ - gdb : what is a symbol-file used for debugging

c++ - long long 有定义吗?

Node.js sqlite3 IN 运算符

python - pandas read sql query 和 read sql table 的区别

android - LOCAL_LDLIBS 不起作用,但 LOCAL_LDFLAGS 起作用。为什么?

c++ - MinGW-w64 的 gcc 和 Address Sanitizer

android - 在给定 sqlite 进度的情况下,在 Android 中存储图像的规范方法

linker - 链接器文件中输入和输出部分之间的区别?