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文件
/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文件
相关文章推荐
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- sqlite入门基础 :sqlite3_open,sqlite3_exec,slite3_close
- C++ "multiple definition of .. first defined here"
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- freetextbox 只能显示两张图片 user defined custom images (here, we're just allowing the first two)
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- 数据库(SQLITE3函数总结): sqlite3_open, sqlite3_exec, slite3_close,sqlite3_prepare_v2,sqlite3_column_text,
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- SQLLite (二) :sqlite3_open, sqlite3_exec, slite3_close
- C++ "multiple definition of .. first defined here" 错误的修改
- C++ "multiple definition of .. first defined here 错误的修改
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- Sqlite3通过Makefile编译成动态链接库
- SQLLite (二) :sqlite3_open, sqlite3_exec, slite3_close
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- SOCI的编译注意事项(通过oracle, mysql, sqlite, boost)
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- 数据库(SQLITE3函数总结): sqlite3_open, sqlite3_exec, slite3_close,sqlite3_prepare_v2,sqlite3_column_text,