您的位置:首页 > 数据库

sqlite3fun.c:155: first defined here execSqlite3 closeSqlite3 getSqlite3dbName编译不通过

2016-08-03 16:20 197 查看
LINUX 主机使用makefile编译C程序 sqlite3函数报错

/XXX/XXX/com/src/sqlite3fun.c:155: multiple definition of `openSqlite3'

/XXX/XXX/com/obj/common.o:/XXX/XXX/com/src/sqlite3fun.c:155: first defined here

/XXX/XXX/com/obj/sqlite3fun.o: In function `execSqlite3':

/XXX/XXX/com/src/sqlite3fun.c:222: multiple definition of `execSqlite3'

/XXX/XXX/com/obj/common.o:/XXX/XXX/com/src/sqlite3fun.c:222: first defined here

/XXX/XXX/com/obj/sqlite3fun.o: In function `closeSqlite3':

/XXX/XXX/com/src/sqlite3fun.c:205: multiple definition of `closeSqlite3'

/XXX/XXX/com/obj/common.o:/XXX/XXX/com/src/sqlite3fun.c:205: first defined here

/XXX/XXX/com/obj/sqlite3fun.o: In function `getSqlite3dbName':

/XXX/XXX/com/src/sqlite3fun.c:256: multiple definition of `getSqlite3dbName'

/XXX/XXX/com/obj/common.o:/XXX/XXX/com/src/sqlite3fun.c:256: first defined here

/usr/bin/ld: Warning: size of symbol `getSqlite3dbName' changed from 574 in /XXX/XXX/com/obj/common.o to 613 in /XXX/XXX/com/obj/sqlite3fun.o

解决办法:

很有可能编译时用到了重复的链接库文件 例如:

ALLOBJ = $(ALLCOM) ${SETTLE_MAIN}/com/obj/common.o ${SETTLE_MAIN}/com/obj/sqlite3fun.o

ALLOBJ = $(ALLCOM) ${SETTLE_MAIN}/com/obj/common.o

可以视情况 去掉后面的sqlite3fun.o文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息