log4cxx vs2015 编译

编译流程:

http://mirror.bit.edu.cn/apache/apr/apr-1.5.2-win32-src.zip
http://mirror.bit.edu.cn/apache/apr-util-1.5.4-win32-src.zip
http://mirror.bit.edu.cn/apache/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.zip

将三个压缩包解压到同一个目录,apr-1.5.2改名为apr,apr-util-1.5.4改名为apr-util

进入apr-util\include修改apr_ldap.hw的APR_HAS_LDAP宏定义为0,apu.hw的APU_HAVE_APR_ICONV宏定义为0

进入apache-log4cxx-0.10.0执行configure.bat,进入projects,打开log4cxx.dsw,升级工程

修改log4cxx.vcxproj文件:AdditionalDependencies最后添加uuid.lib;rpcrt4.lib;

修改src\main\cpp\stringhelper.cpp文件:#include <iterator>

修改src\main\include\log4cxx\log4cxx.h文件:

//原来
#if defined(LOG4CXX_STATIC)
#define LOG4CXX_EXPORT
//改为
#if defined(LOG4CXX_STATIC) || (defined(_MSC_VER) && _MSC_VER >= 1900)
#define LOG4CXX_EXPORT

//原来
#if defined(_MSC_VER) && !defined(LOG4CXX_STATIC) && defined(LOG4CXX)
//改为
#if defined(_MSC_VER) && _MSC_VER < 1900 && !defined(LOG4CXX_STATIC) && defined(LOG4CXX)

//原来
#elif defined(_MSC_VER) && !defined(LOG4CXX_STATIC)
//改为
#elif defined(_MSC_VER) && _MSC_VER < 1900 && !defined(LOG4CXX_STATIC)

之后dll,lib库,按需求编译吧

问题:1、没有生成lib文件需手动生成def;2、字符集unicode编码;3、网上第一步修改无需要

猜你喜欢

转载自blog.csdn.net/zb872676223/article/details/79597026