log4c 编译安装简单小结(ubuntu12)
1 下载源码,解压 (假定解压到了当前用户的根目录下,位置是~/log4c-1.2.3)
2 编译安装log4c(指定--prefix极其重要,如果没有指定到/usr下会有一堆麻烦事,还有,不能按照他的README里说的,指定到/path/of/installation,因为这样真的会在根目录下建立这样的目录)
cd ~
tar -zxvf log4c-1.2..tar.gz
mkdir build; cd build
../log4c-1.2./configure --prefix=/usr/local/log4c
make
make install
3 编译log4c自带的例子
cd ~/log4c-1.2./examples/helloworld
gcc -o hello helloworld.c -llog4c -I /usr/local/log4c/include -L /usr/local/log4c/lib
./hello
编译成功,但是执行提示找不到liblog4c.so.3 (这就是没把程序装到/usr下的孽啊)找了一下,这个文件就在/usr/local/log4c/lib下
4 配置log4c的lib所在目录
编辑/etc/ld.so.conf 发现他的内容只是要求加载 /etc/ld.so.conf.d/下的conf,进入该目录查看,发现 /etc/ld.so.conf.d/libc.conf文件,在里面追加/usr/local/log4c/和/usr/local/log4c/lib (以行分隔,共两行,其实我不确定是哪行生效了,下次可以再试下)
5 立即生效
sudo ldconfig
6 配置文件
此时执行hello,程序无任何输出
cp ~/log4c-1.2./examples/log4crc ~/log4c-1.2./examples/helloworld/log4crc
并且在log4crc文件里log4c节点里追加一行配置(helloworld.c源码里指定的配置)
<category name="log4c.examples.helloworld" priority="debug" appender="stdout"/>
7 回到hello所在目录,运行
执行hello成功(该例子是在屏幕上打印一行日志)
$ ./hello
[stdout] ERROR log4c.examples.helloworld - Hello World!
8 输出日志到文件
修改log4crc的文件,将添加的log4c.examples.helloworld节点appender指定为日志文件名字,例如我指定了aaa
<category name="log4c.examples.helloworld" priority="debug" appender="aaa"/>
执行hello 在hello所在目录下生成一个文件aaa,打开里面的内容是:
[aaa] ERROR log4c.examples.helloworld - Hello World!
log4c 编译安装简单小结(ubuntu12)的更多相关文章
- Emacs安装配置全攻略之中的一个编译安装简单配置
/*************************************************************************************************** ...
- 程序包管理rpm、yum与简单编译安装程序
Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...
- mysql5.7.11编译安装以及修改root密码小结
系统是cenos6.7 64位的,默认mysql5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,mysql数据放置目录/app/local/data. ...
- CentOS 6.5 简单编译安装Nginx
一.准备工作 现在官网下载需要的nginx版本:http://nginx.org/en/download.html 从linux服务器上下载,或者本地电脑下载导入服务都行 这里我选择安装的是nginx ...
- centos中软件源码简单的编译安装./configure,make ,make install
参考 Linux下源码编译安装详解 源码编译安装分三个步骤 1. 编译参数配置 2. 编译 3. 安装 1. 源码编译安装环境检查以及编译参数配置 编译器在开始工作之前,需要知道当前的系统环境,比如标 ...
- ubuntu12.04下编译安装x86平台qt库qt-everywhere-opensource-src-4.8.5
本文记录PC(x86)下安装Linux/X11版Qt 开发环境.下载页面:http://qt-project.org/downloads ARM嵌入式版本qt库的编译安装详见<unbunt12. ...
- 【转帖】嵌入式4412开发板QT5.7编译安装到arm
QT5.7.0+UBUNTU16.04+ARM-NONE-LINUX-GNUEABI4.8+busybox最小LINUX系统 Orandragon记录 本文转自迅为4412开发板群:http://to ...
- Ceph编译安装教程
Ceph官方版本目前支持的纠删码很有限,实验室这块希望能够整合我们自主开发的纠删码BRS(Binary Reed–Solomon encoding),所以需要编译Ceph环境.Ceph官方目前推荐的安 ...
- Windows下编译安装 FFmpeg
在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...
随机推荐
- Unicode字符集下CString与char *相互转换
经常遇到CString转换char*时只返回第一个字符.原因是因为在Unicode字符集下CString会以Unicode的形式来保存数据,强制类型转换只会返回第一个字符.所以直接转换在基于MBCS的 ...
- Android 网络通信框架Volley的简单使用
Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮. Volley提供的功能: JSON,图像等的异步下载: 网络请求的排序(scheduling) 网络请求的优先级处理 ...
- HADOOP之HIVE+MYSQL,HBASE+ZOOKEEPER
这个搞得有劲哈哈 继续...继续....
- altium designer Summer09出现的问题解决方案
在编译原理图时,引脚和连线旁边出现很多红线,提示 error:signal with no driver. 原理图没有加入到Project里. 第一次导入没问题,但是改了个元件的封装,在更新一下(De ...
- 了解 Windows Azure 存储的可伸缩性、可用性、持久性和计费
借助 Windows Azure存储,应用程序开发者及其应用程序和用户可以在云中使用可用性更高.持久性更长.可伸缩性更强的海量存储.开发者可以构建能随时随地高效访问数据的服务,在所需的时间段内存储任意 ...
- javascript笔记3之数据类型
/* var box = 250; //十进制整型 alert(box); var box = 070; //八进制,按照十进制输出是56 alert(box); var box = 0x1f; // ...
- c指针点滴5-指针变量计算
//接口dll _declspec(dllexport) void go() { char *p1; int *p2; p1 = (char*)0x30fa83;//每次运行exe的时候输出地址值不同 ...
- JSON 基本语法
JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...
- C/C++经典面试题目
1.关于动态申请内存 答:内存分配方式三种: (1)从静态存储区域分配:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.全局变量,static变量. (2)在栈上创建:在执行函数 ...
- windows 删除多层文件夹
眼下目录d:\clu_1下有99个目录,名字为0,1....99,每一个目录下又有25个目录,目录名为0,1,....24,其下其下又有以日期命名的目录(如20140521),最后是zip文件.如一个 ...