学习笔记

在路上

导航

[原创]shttpd在arm linux环境下的移植以及运行

Posted on 2008-11-06 17:02  An Shi  阅读(723)  评论(0编辑  收藏  举报

本文参考了《移植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服务器了。

其它的一些注意事项,请参考开始所提到的文章。