官网: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库安装的更多相关文章

  1. protocol buffer c++ python库安装

    c++库安装较简单,不要用源码,还得下载依赖,就被墙了 https://github.com/google/protobuf/releases  下载一个最新的release安装 #protoc -- ...

  2. [转]Snappy压缩库安装和使用之一

    Snappy压缩库安装和使用之一 原文地址:http://blog.csdn.net/luo6620378xu/article/details/8521223 近日需要在毕业设计中引入一个压缩库,要求 ...

  3. phpize 扩展GD库 安装 ! 环境--centos 7 +nginx 1.7.11+php 5.6.7

    使用phpize编译GD库安装,先安装前置库libjpeg libpng zlib  freetype等 都是下面php编译的几个选项 先看php编译的选项: --with-gd=DIR       ...

  4. DCMTK3.6.1(MD支持库)安装说明

    转载:http://qimo601.iteye.com/blog/1685135 [前言] 最近,因为需要开发DICOM网管模块,必须使用DCMTK的DcmNet模块.但是DCMTK3.6.0在Dcm ...

  5. laravel项目拉取下来安装,node.js库安装

    1.拉取项目 2.切换分支 圈圈里面是版本 composer 安装laravel组件其他库 安装node.js安装包  npm set registry=https://registry.npm.ta ...

  6. python 库安装笔记

    python 库安装笔记 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-2-22 友情提示 安装python库的过程中 ...

  7. python库安装(numpy+scipy+matplotlib+scikit_learn)

    python安装好后,库安装走了很多弯路,查了很多资料,终于安装成功,并且保存了该文章的地址,分享给大家 本人电脑windows 7,64位系统,安装的Python是3.5的,因此下载的库也是对应版本 ...

  8. 双心一键获取winsxs的写入权限,解决VC运行库安装error1935错误

    @Echo offtitle 双心一键获取winsxs的写入权限,解决VC运行库安装error1935等错误set path=%path%;%~dp0setlocal EnableDelayedExp ...

  9. python 库安装方法及常用库

    python 库安装方法及常用库 python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/……/ 2.运行cmd,切换到*:/**/……/目录下 3.运行s ...

随机推荐

  1. 黑马程序员_7K月薪面试题之_交通灯管理系统

    ----------- android培训.java培训.java学习型技术博客.期待与您交流! --------- 1,交通灯管理系统的项目需求 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: ...

  2. Python绘制直方图 Pygal模拟掷骰子

    #coding=utf-8 from random import randint class Die(): """骰子类""" def __ ...

  3. js怎么获取图片的相对地址

    <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...

  4. [Erlang]Erlang经常使用工具解说

    原创文章,转载请注明出处:服务器非业余研究http://blog.csdn.net/erlib 作者Sunface 联系邮箱:cto@188.com 但凡有图形界面的都须要linux系统安装了wx图形 ...

  5. liunx系统安装jdk的方法

    1.下载jdk 下载地址: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads ...

  6. JBoss 系列十九:使用JGroups构建块RspFilter对群组通信返回消息进行过滤

    内容概述 本部分说明JGroups构建块接口RspFilter,具体提供一个简单示例来说明如何使用JGroups构建块RspFilter对群组通信返回消息进行过滤. 示例描述 我们知道构建块基于通道之 ...

  7. 优秀运维人员20道必会iptables面试题(转载)

    (一)企业面试口试题 1.详述iptales工作流程以及规则过滤顺序? 2.iptables有几个表以及每个表有几个链? 3.iptables的几个表以及每个表对应链的作用,对应企业应用场景? 4.画 ...

  8. 05-hibernate注解-多对一单向外键关联

    多对一单向外键 1,多方持有一方的引用,比如:多个学生对应一个班级(多对一) 2,@ManyToOne(cascade={CascadeType.ALL},  fetch=FetchType.EAGE ...

  9. linux route命令使用

    说明:route命令是打印和操作ip路由表描述:route操作基于内核ip路由表,它的主要作用是创建一个静态路由让指定一个主 机或者一个网络通过一个网络接口,如eth0.当使用"add&qu ...

  10. Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别

    utf8_unicode_ci和utf8_general_ci对中.英文来说没有实质的差别.utf8_general_ci 校对速度快,但准确度稍差.utf8_unicode_ci 准确度高,但校对速 ...