近日在使用log4cplus日志库,当然一直都是在PC上使用,也就没有进行过交叉编译,可是应用程序最终是要下载至ARM开发板上去的,于是对库按照网络上的说法,加上了几个参数,进行编译,很快就编译完成了,可是在使用的时候,编译器一直提示/opt/tools/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: skipping incompatible /opt/tools/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/lib/libcryptopp.so when searching for -lcryptopp
注:我的交叉编译器使用的是4.5.1版本,安装目录为/opt/tools/4.5.1
解决办法:在./configure 之前或在这之后,执行一次make clean,因为如果之前使用gcc编译过的文件,不会再使用交叉编译器编译。make clean后,即可生成ARM的log4cplus库,将库复制至交叉编译器的lib目录下即可正常编译含log4cplus库的代码。
本文只对以上情况有用,其他情况,请大家继续寻求答案;希望本文能够帮助遇到相同问题的学友解决问题
log4cplus在Linux中的编译请参考:http://www.niwozhi.net/demo_c62_i15020.html