明远智睿技术论坛

标题: 移植shttpd Web服务器到EK200 [打印本页]

作者: mumu_A    时间: 2019-6-19 16:09
标题: 移植shttpd Web服务器到EK200
本帖最后由 myzr_soft 于 2019-8-7 08:42 编辑

主机平台: UBUNTU14.04
硬件平台:明远智睿MY-IMX6-EK200-6Q-1G
内核版本 :linux-4.1.15
交叉编译链:arm-poky-linux-gnueabi
文件系统:L4115-fsl-image-qt5-myimx6a9.tar.bz2
介绍:
MY-IMX6-EK200-6Q-1G 对应 EK200是板级,6Q是CPU类型,1G是内存


下载的官方主页https://sourceforge.net/projects/shttpd/files/shttpd/
我下载的版本为:shttpd-1.42:[attach]407[/attach]
解压:
$ cd /home/myzr
$ tar xzvf shttpd-1.42.tar.gz
source交叉编译工具
$ source /home/myzr/my-work/03_toolchain/fsl-imx-fb-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
$ cd shttpd-1.42/
$ cd src/
$ vi Makefile

在unix: lib$(PROG).a
$(CC) $(CFLAGS) standalone.c -o $(PROG) $(LIBS) -L. -l$(PROG) 后面加上-lpthread
即:
unix: lib$(PROG).a
                $(CC) $(CFLAGS) standalone.c -o $(PROG) $(LIBS) -L. -l$(PROG) -lpthread
[attach]427[/attach]
$make unix
若出现以下错误:
    undefined reference to `dlopen'
    undefined reference to `dlsym'
则在:
unix: lib$(PROG).a
                $(CC) $(CFLAGS) standalone.c -o $(PROG) $(LIBS) -L. -l$(PROG) -lpthread
后面再加上 -ldl
即 :
unix: lib$(PROG).a
                $(CC) $(CFLAGS) standalone.c -o $(PROG) $(LIBS) -L. -l$(PROG) -lpthread -ldl
将编译好的程序shttpd放到开发板
[attach]428[/attach]
# chmod 777 shttpd
# mkdir /www
# chmod 777 /www
将需要展示的网页 拷贝到开发板www目录下 (名称改为index.html,可直接显示)
执行 shttpd
# ./shttpd -root /www -ports 80 &
打开浏览器输入开发板ip看效果
将shttpd移动到开发板/bin目录下 可以直接执行
# mv shttpd /bin/
# shttpd -root /www -ports 80 &
[attach]429[/attach]








欢迎光临 明远智睿技术论坛 (http://bbs.myzr.com.cn/) Powered by Discuz! X3.2