平时都是使用 log4cxx 动态链接库,如果需要使用 log4cxx 静态链接库的方式,那还着实需要花一番力气。

  1. 为预编译器定义 LOG4CXX_STATIC 宏。
  2. 静态链接 log4cxx 库,除了正常使用填入如下链接库外:
    log4cxxd.lib
    aprd.lib
    aprutild.lib
    xmld.lib
    
还需要添加 

<pre class="example">Ws2_32.lib

Mswsock.lib

这两个库,否则会有如下出错提示: 

<pre class="example">错误        1       error LNK2019: 无法解析的外部符号 _TransmitFile@28,该符号在函数 _apr_socket_sendfile@24 中被引用       e:\water\CookVideo2Code\30Kernel\VideoClipper\LogWater\aprd.lib       1

  1. 在 Visual Studio 2008 工程里的 object/library modules:下方填入:Mswsock.lib
  2. 如果显示如下错误:
    错误        36      error LNK2019: 无法解析的外部符号 __imp__WSARecv@28,该符号在函数 _apr_socket_recv@12 中被引用  e:\water\CookVideo2Code\30Kernel\VideoClipper\LogWater\aprd.lib       1
    
则添加如下库:aprd.lib。 

这样,基本上就可以在你的工程里静态链接 log4cxx 库了。