하려고 할 때 오류를 직렬화 std::wstring 부스트::serialization

0

질문

하려고 해요 직렬화를 사용하는 클래스 std::wstring 변수,그러나 내가 무엇을 얻은 여러 undefined reference to ~ 오류가 있습니다.

나지 않는 없는 것 같은 헤더 또는 라이브러리에서 내가에서 읽 boost::serialization 문서 std::wstring 을 것 같다는 기본 형식이 필요하지 않습니다 모든 공지사항을 참고하시기 바랍니다.

내가 포함되어 있는 다음과 같은 헤더가:

#include <boost/archive/text_woarchive.hpp>
#include <boost/archive/text_wiarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/serialization/string.hpp>
#include <boost/serialization/vector.hpp>
#include <iostream>
#include <sstream>
#include <string>
#include <locale>

반도 직렬화하여 다음과 같습니다:

class A
{
public:
    A() = default;

    void setWstr(const std::wstring &wstr)
    {
        wstr_ = wstr;
    }

    const std::wstring &getWstr()
    {
        return wstr_;
    };

private:
    std::wstring wstr_;

    friend class boost::serialization::access;

    template <typename Archive>
    void serialize(Archive &ar, const unsigned int version)
    {
        ar &boost::serialization::make_nvp("wstr", wstr_);
    }
};

int main()
{
    std::wstring sdn = L"src dept";

    A test;
    test.setWstr(sdn);

    std::wstringstream ss;
    boost::archive::text_woarchive oa(ss);
    oa << test;

    return 0;
}

에 오류가 나는 이러한:

in function `text_woarchive_impl':
undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<wchar_t, std::char_traits<wchar_t> > >::basic_text_oprimitive(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, bool)'

in function `text_woarchive_impl':
undefined reference to `boost::archive::basic_text_oarchive<boost::archive::text_woarchive>::init()'

`~text_woarchive_impl':
undefined reference to `boost::archive::basic_text_oprimitive<std::basic_ostream<wchar_t, std::char_traits<wchar_t> > >::~basic_text_oprimitive()'

하는 방법이 있습니다.

ETA)나는 연결한 다음과 같은 라이브러리

 -lboost_serialization  -lpthread  -lboost_system  -lboost_program_options  -lboost_chrono
boost c++ c++11 serialization
2021-11-19 07:49:53
1

최고의 응답

2

직렬화하는 개체는 두 개로 분할 라이브러리: boost_serialization (당신은 링크에 대한)및 해당 개체에 대한 wchar etc. 에 boost_wserialization. 그래서,당신은 필요하여 추가 -lboost_wserialization 귀하의 linker flags.

2021-11-19 08:24:09

성 연기가 난다. 뭔가가 나에 대해 알고하지 않았을 향상 Serialization. 이#4678 숙박 시설에서 wchar_t...
sehe

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................