在不安装sqlite3的时候使用sqlite3数据库以及问题/usr/bin/ld: skipping incompatible.....的解决

时间:2024-03-30 22:34:49

在没有安装sqlite3linux机器上,怎么在不安装的情况下使用sqlite3的数据库呢:

其中只需要2个文件即可:

数据库的动态库libsqlite3.sosqlite3.h.

另外,一些系统可能会需要sqlite3ext.h

操作方法:

  1. 先找到libsqlite3.so,sqlite3.h两个文件,放在工程文件夹下(任意方便的位置,在编译的时候链接即可)
  2. 指定位置链接并编译

那么在编译时加上动态库的链接,并且指定为当前路径

gcc test.c $(HEADDIR)/sqlite3.h -o main -L$(DIR) -lsqlite3

其中:

  1. -L: 说明在后面的路劲下寻找对应的文件
  2. $(DIR) :替换成动态库所在的位置

如果觉得每次编译编译麻烦,可以写一个简单的Makefile进行自动化编译,可以参考makefile的编写

如果在编译的时候出现问题:

/usr/bin/ld: skipping incompatible.....

说明目前找到的这个动态库与当前的系统的版本不对应,需要寻找和目前系统对应的动态库替换哦

可以使用命令:

objdump -p libmylib.a | more

查看这个库的版本,是不是和自己系统的版本对应哦