xp环境中,使用动态链接的时候没有问题,但是放到vista环境中去执行,还必须把msvcp71d.dll和msvcr71d.dll放进去。现在想用静态链接的方式实现,按照网上提供的方法设置之后,出现fatal error LNK1104:'log4cxxs.lib'文件不能打开的错误。这是怎么回事呢?有没有谁碰到过??1:设置log4cxx的include文件
2:为预编译器定义LOG4CXX_STATIC宏,设置位置为“项目->属性->配置属性->C/C++->预处理器->预处理器定义”;为链接器指定依赖的库lib4cxxs.lib和Ws2_32.lib,设置位置为“项目->属性->配置属性->链接器->输入->附加依赖项”。

解决方案 »

  1.   

    使用有问题嘛?我是 WIN2003+lib4cxxs(2008版本)
    只要加 log4cxx.lib 就可以了吧。
      

  2.   

    工程中加入了log4cxx.lib,步骤: 
    "项目"->"属性"->"配置属性"->"链接器"->"常规"->"附加库目录",写入"log4cxx.lib"存放的目录 "E:\c++\LOG4CXX\log4cxx-0.10.0-vc6-June2008\msvc6-proj\Release_Shared" "项目"->"属性"->"配置属性"->"链接器"->"输入"->"附加依赖项",写入"log4cxx.lib". 
      

  3.   

    开发环境是vs2003
    log4cxx的版本是0.9.7
    用log4cxx.lib 这个也试过了,也不行。
      

  4.   

    To:lhsxsh 我按照你的试了一下,还是不行。
    fatal error C1083:无法打开 include 文件。'log4cxx/logger.h': No such file or directory不知道哪里的设置错了。。
      

  5.   

    这个是你的log4cxx的头文件目录等设置不正确
      

  6.   

    这次路径设置正确了。提示没有找到"log4cxx.dll",又回到动态链接的方式去了。
      

  7.   

    你要把log4cxx.dll 拷贝到你的EXE目录下, 才行,你再试下。一定行的。
      

  8.   

    工程中加入了log4cxx.lib,步骤: 
    1、"项目"->"属性"->"配置属性"->"链接器"->"常规"->"附加库目录",写入"log4cxx.lib"存放的目录 "E:\c++\LOG4CXX\log4cxx-0.10.0-vc6-June2008\msvc6-proj\Release_Shared" 2、"项目"->"属性"->"配置属性"->"链接器"->"输入"->"附加依赖项",写入"log4cxx.lib". 3、然后把log4cxx.lib文件COPY到工程目录中.
      

  9.   

    看看我的 URL :
    http://blog.csdn.net/lhsxsh/archive/2009/03/21/4011740.aspx
    里面还有关于多用户的解决办法。
    希望对你有好处。
      

  10.   


    log4cxx.dll + log4cxx.lib这个没问题,已经实现了。好像我没有说清楚想干什么。。1,log4cxx的源码
    ①Msvc\static:该工程产生log4cxx的静态链接库(lib4cxx.lib和lib4cxxs.lib)
    ②Msvc\dll:该工程产生log4cxx的动态链接库(lib4cxx.dll)2,项目是在xp里面开发,在vista里面测试的。
    如果采用log4cxx.dll + log4cxx.lib的方式,
    xp环境的exe目录:Project.exe / log4cxx.dll / log4cxx.properties
    vista环境的exe目录:Project.exe / log4cxx.dll / log4cxx.properties / msvcp71d.dll / msvcr71d.dll
    在vista里面会很多必须的dll,每个执行Project.exe的用户,都必须拷贝那些dll,比较麻烦。
    所以想试试采用lib4cxxs.lib,会不会在xp和vista的exe目录,都只要Project.exe / log4cxx.properties就够了。
    可是不知道怎么配置的,想请教