正文
libcgi库安装
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
官网:https://boutell.com/cgic/#build
1. 可直接tar包安装
tar xvf libcgi-1.0.tar.gz
cd libcgi-1.0
./configure
make
cd src
sudo cp libcgi.so /usr/lib
sudo cp cgi.h session.h /usr/include
写代码时包含头文件应写:
#include <cgi.h>
#include <session.h>
学习libcgi库的方法:
源码包目录/doc/html目录下有一个index.html是帮助文档。
源码包目录/examples目录下是各种示例程序,结合帮助文档研究它们是如何工作的。
2. apt-get源上安装
sudo apt-get install libcgic-dev
注:apt-get安装软件时下载的包存放在目录:/var/cache/apt/archives
包含头文件需要写:
#include <cgic.h>
在libcgic 2.0+,主程序主要实现cgiMain()函数。
一般编译命令:gcc cgictest.c -lcgic
注:通过dpgk -c libcgic-dev_2.05-3_i386.deb可查看文件安装目录
~$dpkg -c libcgic-dev_2.-3_i386.deb
drwxr-xr-x root/root -- : ./
drwxr-xr-x root/root -- : ./usr/
drwxr-xr-x root/root -- : ./usr/share/
drwxr-xr-x root/root -- : ./usr/share/doc/
drwxr-xr-x root/root -- : ./usr/share/doc/libcgic-dev/
drwxr-xr-x root/root -- : ./usr/share/doc/libcgic-dev/examples/
-rw-r--r-- root/root -- : ./usr/share/doc/libcgic-dev/examples/cgictest.c.gz
-rw-r--r-- root/root -- : ./usr/share/doc/libcgic-dev/examples/capture.c
-rw-r--r-- root/root -- : ./usr/share/doc/libcgic-dev/cgic.html
-rw-r--r-- root/root -- : ./usr/share/doc/libcgic-dev/copyright
drwxr-xr-x root/root -- : ./usr/lib/
-rw-r--r-- root/root -- : ./usr/lib/libcgic.a
drwxr-xr-x root/root -- : ./usr/include/
-rw-r--r-- root/root -- : ./usr/include/cgic.h
lrwxrwxrwx root/root -- : ./usr/share/doc/libcgic-dev/changelog.Debian.gz -> ../libcgic2/changelog.Debian.gz
lrwxrwxrwx root/root -- : ./usr/lib/libcgic.so -> libcgic.so.2.05
3. 安装目录下capture.c为标准范例
#include "cgic.h" int cgiMain() {
cgiWriteEnvironment("/CHANGE/THIS/PATH/capcgi.dat");
cgiHeaderContentType("text/html");
fprintf(cgiOut, "<title>Captured</title>\n");
fprintf(cgiOut, "<h1>Captured</h1>\n");
fprintf(cgiOut, "Your form submission was captured for use in\n");
fprintf(cgiOut, "debugging CGI code.\n");
return ;
}
参考:
1. http://webjs.blog.sohu.com/301265970.html