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
libcgi库安装的更多相关文章
- protocol buffer c++ python库安装
		c++库安装较简单,不要用源码,还得下载依赖,就被墙了 https://github.com/google/protobuf/releases 下载一个最新的release安装 #protoc -- ... 
- [转]Snappy压缩库安装和使用之一
		Snappy压缩库安装和使用之一 原文地址:http://blog.csdn.net/luo6620378xu/article/details/8521223 近日需要在毕业设计中引入一个压缩库,要求 ... 
- phpize 扩展GD库 安装 ! 环境--centos 7  +nginx 1.7.11+php 5.6.7
		使用phpize编译GD库安装,先安装前置库libjpeg libpng zlib freetype等 都是下面php编译的几个选项 先看php编译的选项: --with-gd=DIR ... 
- DCMTK3.6.1(MD支持库)安装说明
		转载:http://qimo601.iteye.com/blog/1685135 [前言] 最近,因为需要开发DICOM网管模块,必须使用DCMTK的DcmNet模块.但是DCMTK3.6.0在Dcm ... 
- laravel项目拉取下来安装,node.js库安装
		1.拉取项目 2.切换分支 圈圈里面是版本 composer 安装laravel组件其他库 安装node.js安装包 npm set registry=https://registry.npm.ta ... 
- python 库安装笔记
		python 库安装笔记 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-2-22 友情提示 安装python库的过程中 ... 
- python库安装(numpy+scipy+matplotlib+scikit_learn)
		python安装好后,库安装走了很多弯路,查了很多资料,终于安装成功,并且保存了该文章的地址,分享给大家 本人电脑windows 7,64位系统,安装的Python是3.5的,因此下载的库也是对应版本 ... 
- 双心一键获取winsxs的写入权限,解决VC运行库安装error1935错误
		@Echo offtitle 双心一键获取winsxs的写入权限,解决VC运行库安装error1935等错误set path=%path%;%~dp0setlocal EnableDelayedExp ... 
- python 库安装方法及常用库
		python 库安装方法及常用库 python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/……/ 2.运行cmd,切换到*:/**/……/目录下 3.运行s ... 
随机推荐
- windows下 memcached 和 redis 服务器安装
			memcached 安装: 1.下载memcached 文件: 2.拷贝到运行目录: 3.命令行进入到程序目录: 运行命令: memcached -d install 如果没有报错说明安装成功 4.打 ... 
- ISP图像调试工程师——tone Mapping(ISP)
			http://www.cnblogs.com/bigbigtree/p/3458797.html 
- http://www.cnblogs.com/carekee/articles/1854674.html
			http://www.cnblogs.com/carekee/articles/1854674.html http://www.cnblogs.com/xdp-gacl/p/3926848.html 
- 《深入理解Java虚拟机》笔记4
			垃圾回收器是垃圾回收算法的实现,Java虚拟机的设计者为了 获取最大的性价比,也在不断改进中.硬件在不断变化,多核 的普及,基于单核的收集器应该已经没有太大意义了.Java7中 又新增了g1收集器,没 ... 
- 将本地jar包添加到maven中
			将需要引入的jar包拷贝到maven项目的WEB-INF/lib中 在pom.xml中配置如下: <dependency> <groupId>com.xxxxx.union&l ... 
- 菜单下拉效果demo记录
			<!doctype html> <html> <head> <meta http-equiv="Content-Type" content ... 
- Cat安装
			1,windows7+jdk1.7(1.7,1.6都可以,1.8不行)+maven3.3.3 2,到github上下载cat源码 https://github.com/dianping/cat 例如下 ... 
- Python描写叙述符(descriptor)解密
			Python中包括了很多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些" ... 
- Python将一个大文件按段落分隔为多个小文件的简单方法
			今天帮同学处理一点语料. 语料文件有点大,而且是以连续两个换行符作为段落标志,他想把它按段落分隔成多个小文件.即每3个段落组成一个新文件.因为曾经没有遇到过类似的操作,在网上找了一些类似的方法,看起来 ... 
- 算法笔记_097:蓝桥杯练习 算法提高 P1001(Java)
			目录 1 问题描述 2 解决方案 1 问题描述 当两个比较大的整数相乘时,可能会出现数据溢出的情形.为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法.具体来说,首先以字符串的形式输入两个整 ... 
