zoukankan      html  css  js  c++  java
  • 使用log4cplus时遇到的链接错误:无法解析的外部符号 "public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,

    #include "stdafx.h"
    #include <log4cplus/logger.h>
    #include <log4cplus/loggingmacros.h>
    #include <log4cplus/configurator.h>
    #include <log4cplus/fileappender.h>  
    #include <log4cplus/win32debugappender.h>
    #include <log4cplus/layout.h> 
    #include <memory>
    #include <log4cplus/consoleappender.h>
    #include <log4cplus/tchar.h>
    
    using namespace log4cplus;
    using namespace log4cplus::helpers;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        log4cplus::initialize();
        Logger logger = Logger::getInstance(_T("main.log"));    
        //std::wstring log_path = _T("d:\test.log");
        SharedObjectPtr<Appender> _append (new ConsoleAppender());
        
        //step 1
    
        
        return 0;
    }

    error LNK2019: 无法解析的外部符号 "public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &)" (?getInstance@Logger@log4cplus@@SA?AV12@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z),该符号在函数 _wmain 中被引用
    1>D:GetFileIconRandDebuglog4cpptest.exe : fatal error LNK1120: 1 个无法解析的外部命令

    由于我的导入库lib,以及动态库dll都是正确加载的,所以不是库没正确加载的问题。

    分析:这是由于当前工程项目的“字符集”设置与log4plus所用的“字符集”不一致所导致的,log4cplus是使用多字节字符集,而当前工程是使用 Unicode 字符集

    解决方案:打开项目属性页-常规-字符集,改成“多字节字符集”。

  • 相关阅读:
    NGINX 代理以及 HTTPS (一)
    HTTP 各种特性应用(二)
    HTTP 各种特性应用(一)
    HTTP 协议基础及发展历史
    添加 表格
    C# 利用反射和特性 来做一些事情
    HTTP 与 HTTPS
    系统登录详解
    js表单提交到后台对象接收
    idea插件
  • 原文地址:https://www.cnblogs.com/lisuyun/p/6555597.html
Copyright © 2011-2022 走看看