在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → cgic205.tar.gz

cgic205.tar.gz

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.05M
  • 下载次数:6
  • 浏览次数:293
  • 发布时间:2021-11-27
  • 实例类别:一般编程问题
  • 发 布 人:js2021
  • 文件格式:.gz
  • 所需积分:2
 

实例介绍

【实例简介】
与BOA配合使用:本文为CGI部分 webserver移植主要分为BOA移植和CGI的移植。 1、BOA移植 1.1 设置编译环境 boa 的官方网站是:www.boa.org,下载地址: https://sourceforge.net/project/showfiles.php?group_id=78,下载的版本为:boa-0.94.13 版。 #tar xvfz boa-0.94.13.tar.gz -C /opt/EmbedSky/ 1.2 配置编译条件 配置 boa: #cd /opt/EmbedSky/boa-0.94.13/src #./configure 会在 boa-0.94.13/src 目录下面生成 Makefile 文件,修改 Makefile 文件: #vi Makefile 在 31 行和 32 行,找到:CC = gcc 和 CPP = gcc -E,然后改成:CC = arm-linux-gcc 和 CPP =arm-linux-gcc -E,保存退出。 相关文件的修改: 我们要做的是对该目录下一些源代码做相应的修改。 修改compat.h(步骤4)(这里参考别人的,写的很详细) #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 将其修改成 #define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff 否则会出现错误: util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 修改log.c(步骤5) 将以下语句注释掉: if (dup2(error_log, STDERR_FILENO) == -1) { DIE("unable to dup2 the error log"); } 否则会出现错误: log.c:73 unable to dup2 the error log:bad file deor 修改boa.c(步骤6) 注释掉下面两句话: if (passwdbuf == NULL) { DIE(”getpwuid”); } if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) { DIE(”initgroups”); } 否则会出现错误:boa.c:211 - getpwuid: No such file or directory 注释掉下面语句: if (setuid(0) != -1) { DIE(”icky Linux kernel bug!”); } 否则会出现问题:boa.c:228 - icky Linux kernel bug!: No such file or directory 生成可执行文件BOA: 首先进入src目录,并执行configure文件,生成Makefile文件 #cd /source/boa-0.94.13/src # make(步骤9) 对生成文件进程瘦身 #arm-linux-strip boa(步骤10) 2、移植 cgic 库 2.1 下载 cgic 库的具体下载站点是:http://www.boutell.com/cgic/cgic205.tar.gz,版本为:cgic205版。 下载后,解压到“/opt/EmbedSky/”目录下,会生成目录 cgic205: #tar xvfz cgic205.tar.gz -C /opt/EmbedSky/ 2.2 配置编译条件 进入 cgic205 目录,修改 Makefile 文件: #cd /opt/EmbedSky/cgic205 #vi Makefile 下面是修改后的文件内容: CFLAGS=-g -Wall CC=arm-linux-gcc //原来是CC = gcc AR=arm-linux-ar //原来是AR = ar RANLIB=arm-linux-ranlib //原来是RANLIB = ranlib LIBS=-L./ -lcgic all: libcgic.a cgictest.cgi capture install: libcgic.a cp libcgic.a /opt/EmbedSky/4.3.3/arm-no
【实例截图】
【核心代码】
cgic205.tar.gz
└── cgic205
├── capture.c
├── cgic.c
├── cgic.h
├── cgic.html
├── cgictest.c
├── license.txt
├── Makefile
├── readme.txt
└── support.txt

1 directory, 9 files

标签:

实例下载地址

cgic205.tar.gz

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警