代码之家  ›  专栏  ›  技术社区  ›  Amit G.

Boo/SturyTyTrp/XMLI.PARSER//Read XML//给定STD::WSLT宽文件名-链接错误

  •  0
  • Amit G.  · 技术社区  · 7 年前

    我试图建立一个项目,利用 boost/property_tree 带助推器 xml_parser ,在 std::wstring 完整路径。但我得到一个链接错误(见下文)。

    #include <experimental/filesystem> // C++17
    #include <codecvt> // C++11
    #include <boost/property_tree/xml_parser.hpp>
    #include <boost/property_tree/ptree.hpp>
    #include <boost/foreach.hpp>
    
    #include <boost/iostreams/device/file_descriptor.hpp>
    #include <boost/iostreams/stream.hpp>
    #include <boost/filesystem.hpp>
    #include <iostream>
    
    void CMainFrame::OnGroup(UINT nID)
    {
        // Prepare wstring group-name:
        std::string group_name = m_id_to_string[nID]; //AG: PATCH
        std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
        std::wstring group_name_w = converter.from_bytes(group_name);
    
        using boost::property_tree::ptree;
    
        // Populate tree structure pt:
        ptree pt;
        boost::filesystem::wpath full_path = CEngine::Instance().GetGroupDirectory() + group_name_w;
        boost::iostreams::file_descriptor_source fs(full_path);
        boost::iostreams::stream<boost::iostreams::file_descriptor_source> fsstream(fs);
        read_xml(fsstream, pt);
    
        BOOST_FOREACH(ptree::value_type const& v, pt.get_child("Group"))
        {
            unsigned int DeviceId, GridId, MonitorId;
    
            if (v.first == "Item")
            {
                DeviceId = v.second.get<unsigned int>("DeviceId");
                GridId = v.second.get<unsigned int>("GridId");
                MonitorId = v.second.get<unsigned int>("MonitorId");
            }
        };
    }
    

    我得到这个错误:

    1>------ Build started: Project: BFC, Configuration: Debug x64 ------
    1>MainFrm.cpp
    1>LINK : fatal error LNK1104: cannot open file 'libboost_iostreams-vc141-mt-gd-x64-1_67.lib'
    1>Done building project "BFC.vcxproj" -- FAILED.
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    

    知道吗?

    1 回复  |  直到 7 年前