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 ...
随机推荐
- LeetCode_Trapping Rain Water
Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...
- Linux 文件名匹配
As the shell reads each line, it "handles" any special characters. This includes variable ...
- Java Timer 定时器的使用
设置定时任务很简单,用Timer类就搞定了. 一.延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行. 代码如下:package test;i ...
- 安卓,通过本地应用分享到微信、facebook等
别的不说了,直接上代码. 支持分享到微信.微博.facebook.twitter package com.example.shareSample; import java.util.List; imp ...
- 符号表(Symbol Tables)
小时候我们都翻过词典,现在接触过电脑的人大多数都会用文字处理软件(例如微软的word,附带拼写检查).拼写检查本身也是一个词典,只不过容量比较小.现实生活中有许多词典的应用: 拼写检查 数据库管理应用 ...
- Java中BigDecimal的8种舍入模式是怎样的
Java中BigDecimal的8种舍入模式是怎样的?下面长沙欧柏泰克软件学院和大家一起来学习下吧: java.math.BigDecimal 不可变的.任意精度的有符号十进制数.BigDecima ...
- testng 提供参数
获取页面元素属性,并把属性作为参数传递个测试方法,两桶不同的写法 1. @DataProvider public Iterator<Object[]> dp() { mySleep(500 ...
- (转)iOS Wow体验 - 第一章 - iOS人机界面设计规范纵览
本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第一章译文精选,其余章节将陆续放出. 关于本套译文 ...
- Linux备份
Eking<longpeisky@vip.qq.com> 19:35:17 增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件. (增量备份过程中,只备份 ...
- [WebStrom] Cannot detect file change to trigger webpack re-compile
Working with editors/IDEs supporting “safe write” Note that many editors support “safe write” featur ...