vs2019在使用外部静态库yaml-cpp.lib时遇到LNK2001



我使用vs2019静态构建了yaml-cpp,并从路径yaml-cpp-masterbuildReleaseyaml-cpp.lib获得了lib,现在我打算将其添加到我自己的项目中,简单代码如下:

#include <yaml-cpp/yaml.h>
#include <string>
using namespace std;
int main() {
YAML::Node config = YAML::LoadFile("test.yaml");
if (config["test1"]) {
cout << config["test1"].as<string>() << endl;
}
return 0;
}

我已经按照"如何将静态库添加到Visual studio项目"设置了我的项目属性,但我在构建时遇到LNK2001错误和C4251警告:

LNK2001 "__declspec(dllimport) public: __cdecl YAML::Node::Node(void)" (__imp_??0Node@YAML@@QEAA@XZ)

链接器似乎仍然想要dll。。。这不是我的本意,有什么可能的解决方案吗?

在包含任何yaml-cpp文件或项目处理器设置之前,您需要#defineYAML_CPP_STATIC_DEFINE

最新更新