하려고 해요 직렬화를 사용하는 클래스 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
wchar_t
...