未定义的符号:_ZTIN5boost7archive6detail14basic_oarchiveE
Undefined symbol: _ZTIN5boost7archive6detail14basic_oarchiveE
我遇到了这个问题,无法加载 c++ 的插件。这是提升库的错误吗?
这是我的代码:
template <typename T>
bool enSerialize(const T& data, const std::string& filename) {
std::ofstream ofs(filename.c_str(), std::ios::out);
if (!ofs.is_open()) {
return false;
}
else {
boost::archive::text_oarchive oa(ofs);
oa << data;
}
ofs.close();
return true;
}
我称这个为:
enSerialize(int(2), "test.txt");
Etheranger是对的。我忘了链接到序列化...(这个愚蠢的错误怎么会发生...
如果您遇到同样的问题,在 cmakelist 中包含以下代码.txt
find_package(Boost 1.47.0 REQUIRED COMPONENTS serialization system)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(${libname} ${Boost_LIBRARIES})
多谢!以太人。
对于任何使用 SCons 的人,添加:
env.Append(LINKFLAGS = ['-lboost_serialization', '-lboost_system'])
为我解决了这个问题。
相关文章:
- 没有找到相关文章