log4cplus 1.2 RC5 使用visual studio 2012编译

来源:互联网 发布:学软件去哪里好 编辑:程序博客网 时间:2024/05/14 02:32

log4cplus已经更新到1.2 RC5。

下载下来,进行编译发现两个问题。经过修改后才能成功编译。

编译过程:

1.下载源码log4cplus-1.2.0-RC5.zip文件,最新版。找不到可以到谷歌,或者必应上查找就有下载的地址了。

2.解压源码

3.进入到控制台,进入到msvc10目录下执行 ..\scripts\msvc10_to_msvc11.cmd log4cplus.sln

4.此时在msvc10同级目录下增加了msvc11的目录,进入此目录打开log4cplus.sln即可。

5.编译,出现多个错误。但是主要是由于

LOG4CPLUS_HAVE_CXX11_SUPPORT,定义的问题。

由于visual studio 2012还不支持 = delete ;语法因此需要将这个宏定义注释掉。


然后重新编译,出现找不到标识符 FreeAddrInfoA的错误信息。在internal\socket.h文件中


由于支持FreeAddrInfoA函数的最低操作系统为windows 2003,因此

_WIN32_WINNT 必须大于等于 0x0502

但是项目中的值是0x0501。查看方法

项目->项目属性页->c/C++->预处理器->预处理器定义点击就能看到。但是不能修改,只能查看项目文件查找修改的方法。

关闭项目开发环境,发现msvc11目录下比普通的项目多了个log4cplus.props文件,打开已开果然是他。

定位到PreprocessorDefinitions,_WIN32_WINNT=0x0501;WINVER=0x0501修改为_WIN32_WINNT=0x0502;WINVER=0x0502即可。

重新打开项目成功编译。

0 0
原创粉丝点击