Feature #1539 » debian10-64位log4cplus编译.txt
1 |
解压或放置log4cplus压缩包或文件; |
---|---|
2 |
|
3 |
进入log4cplus-1.2.1目录 |
4 |
编译: |
5 |
./configure --prefix=/home/sjw/code/log4cplus/file/ --enable-static CXXFLAGS="-std=c++0x" |
6 |
|
7 |
make |
8 |
|
9 |
其中 --prefix 指明了安装目录,–enable-static 指明了要生成静态库(可以不包含,这样就不会生成 .a 文件), CXXFLAGS="-std=c++0x" 指明了使用c++11(注意兼容性,如果编译库用了c++11,则引用该库时必须使用c++11)如果安装成功,则在 /home/sjw/code/log4cplus/file/lib 目录下有 liblog4cplus-1.2.so.5、liblog4cplus-1.2.so.5.1.6、liblog4cplus.la、liblog4cplus.so 文件(.so是动态链接库的静态库,.so.5是动态链接库,相当于windows下的.dll,liblog4cplus.a 是静态库,添加–enable-static 后会生成,默认只生成动态库),还有一个文件夹 pkgconfig 只包含了 一个log4cplus.pc 文件,该文件记录了安装目录、版本号等基本信息。在/home/sjw/code/log4cplus/file下有 include 文件,其中的 log4cplus 文件夹就包含了该库依赖的头文件。 |
10 |
|
11 |
我们这只使用liblog4cplus.a静态库文件,用于em_loger使用(此静态库名字与Windows上静态库的名字不同,编译时需要注意); |
12 |
|
13 |
|
14 |
|
15 |
usr/bin/ld: i386 architecture of input file XXX.a( xxx.o) is incompatible with i386:x86-64 output |
16 |
这个问题是原来在32位Linux 系统下编译的o文件残留,在64位编译时候所提示的编译错误。make clean 可以解决。也可手动删除提示的o文件,之后重新编译。 |
- « Previous
- 1
- 2
- Next »