http://blog.tianya.cn/blogger/post_read.asp?BlogID=78856&PostID=13635493
添加库文件的时候一定要注意库文件的名称,在嵌入式系统中引入sqlite3的基本操作方法是:
1、将头文件sqlite3.h sqlite3ext.h导入到工程中
2、将libsqlite3.a库文件导入到系统中,注意这里的导入文件名不是libsqlite3.a,而是sqlite3;
3、由于在sqlite3中引入了线程管理控制,因此头文件还需要添加线程的头文件pthread.h,以及线程的库文件pthread
4、这些的添加完毕之后再编译,会出现如图所示的报错,原因也如下解释,这里的解决办法是:在添加库文件的地方添加库文件:dl
5、在编译就能成功的编译
errors happen when make glpk package2008-05-03 03:38 星期六 晴
../src/.libs/libglpk.so: undefined reference to `dlsym'
../src/.libs/libglpk.so: undefined reference to `dlerror'
../src/.libs/libglpk.so: undefined reference to `dlopen'
../src/.libs/libglpk.so: undefined reference to `dlclose'
collect2: ld returned 1 exit status
solution:
You are supposed to either run
LDFLAGS=-ldl make
- that means run command make with LDFLAGS environment variable set to '-ldl' or run
make LDFLAGS+=-ldl
- that passes command to make to add to LDFLAGS -ldl. Both say to make it should tell linker to use libdl.so (to find dlopen and dlsym)
My solution: edit Makefile
find LDFLAGS
add LDFLAGS = -ldl
../src/.libs/libglpk.so: undefined reference to `dlerror'
../src/.libs/libglpk.so: undefined reference to `dlopen'
../src/.libs/libglpk.so: undefined reference to `dlclose'
collect2: ld returned 1 exit status
solution:
You are supposed to either run
LDFLAGS=-ldl make
- that means run command make with LDFLAGS environment variable set to '-ldl' or run
make LDFLAGS+=-ldl
- that passes command to make to add to LDFLAGS -ldl. Both say to make it should tell linker to use libdl.so (to find dlopen and dlsym)
My solution: edit Makefile
find LDFLAGS
add LDFLAGS = -ldl