最开始是头文件找不到问题
一开始确实缺少这个sqlite.h,拿到这个(其他同事那有,作者当时用的)后放到/usr/include,因为网上各种资料表示编译的时候默认的头文件路径是这个
试过其他几个地方仍然报同样的错,No such file or directory
但是同样的程序里包含的pthread.h 在/usr/include里面找到了pthread.h,我就纳闷了,放在同样地方,为啥这个就找不到
后来查阅头文件默认路径的资料,了解到:
交叉编译的默认搜索头文件路径与普通的gcc不一样
1,如果需要看的话,可以通过
echo 'main(){}'|arm-linux-gcc -E -v -
其实是在SPECs文件读到的。
这个路径和你安装GCC编译器的配置有关。至于如何配置,后面有空再细化。
2,如果编译的时候加入了-nostdinc,则不会到默认路径下去搜索。比如用GCC编译器编译一个新的linux内核。()
其实当时如果这样搜一下
kevin@pc:~/works/projects/omc_au$find /opt/arm-2009q1/ -name pthread.h
/opt/arm-2009q1/arm-none-linux-gnueabi/libc/usr/include/pthread.h
就知道其实还有其他的地方有这个文件。
好了,通过上面那条指令可以查到arm-linux-gcc查找头文件的默认路径和一些库的位置