YAML未解决的外部符号(yaml-cpp)

3

我有一个YAML文件,其中包含以下内容:

abc: 123

我正在使用以下代码来加载它:

YAML::Node base = YAML::Load("test.yaml");
std::cout << base["abc"].as<int>() << std::endl;

MSVC连接失败(由第二行引起),错误信息如下:

unresolved external symbol "public: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > YAML::detail::node_data::empty_scalar"

我不知道我做错了什么,或者是我设置有误。它可以很好地链接和解析文件,只是在使用YAML::Node::operator[]时会给我一个错误。


1
这不是编译错误。 - Alan Stokes
2
你读过 https://dev59.com/oJXfa4cB1Zd3GeqPjLh0 吗? - Alan Stokes
1个回答

0
您需要链接 yaml-cpp 库。

我已经链接了库。就像我说的那样,它将解析文件(如果我没有链接库,我会认为这不起作用),我只是在解析后访问文件中的数据时遇到了麻烦。 - Thoom1940
@Thoom 或许你应该展示一下有效的代码。 - Alan Stokes
如果我删除第二行,它就可以正常工作。我也可以捕获YAML :: ParserException被抛出以获取无效的YAML文件中的错误消息。只有当我从已加载的文件(通过operator [])中访问数据时,我的代码才无法工作。其他函数可能也受到影响,但我不太了解这个库。 - Thoom1940

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接