本文参考了《移植shttpd Web服务器到ARM-Linux系统》
地址:http://blog.chinaunix.net/u1/34474/showart.php?id=487362
在参考了上面所提文章的内容后,我把在编译和运行中碰到的一些问题描述如下,以备后用。
1、http://shttpd.sourceforge.net/,同样,首先在这个网址下载最新版的shttpd的源程序
2、解压后进入src目录,修改makefile文件如下:
CC = arm-linux-gcc
AR = arm-linux-ar
CFLAGS = -DNO_SSL
LIBS=-lpthread
这里要注意的是,我已经把交叉编译环境添加到了系统路径中,所以CC以及AR这里直接些编译器的名字,如果你没有手动添加编译环境,那么请加上你的编译器所在目录的路径。
另外,如果不加LIBS=-lpthread这句,在链接时会出现一个错误提示:xxxx.c:(.text+0x85):对‘pthread_create’未定义的引用
这是由于pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,所以在使用pthread_create创建线程时,在编译中要加-lpthread参数。
3、编译完成,把shttpd拷贝到目标板上,默认是没有执行权限的,可以运行:chmod 777 shttpd来赋予shttpd权限,这时候就可以在目标板上运行你的web服务器了。
其它的一些注意事项,请参考开始所提到的文章。