C++ 从yaml cpp源代码创建dll

C++ 从yaml cpp源代码创建dll,c++,visual-studio,dll,yaml,yaml-cpp,C++,Visual Studio,Dll,Yaml,Yaml Cpp,新手到windows。我需要在项目中使用yaml cpp库,但我似乎无法在windows中编译它。我尝试了所有我能找到的东西,但没有一个地方有完整的答案,只有过程的提示。但这些建议没有多大帮助。 我确实在Ubuntu中创建了共享库,但无法在windows中创建dll。 有人能给出从源代码中获取dll的完整解释吗? (我也非常感谢您解释如何将dll与它的包含一起使用) 与visual studio 2015合作。所以我终于得到了它。 对于linux用户,请使用cmake。对于windows用户-你

新手到windows。我需要在项目中使用yaml cpp库,但我似乎无法在windows中编译它。我尝试了所有我能找到的东西,但没有一个地方有完整的答案,只有过程的提示。但这些建议没有多大帮助。 我确实在Ubuntu中创建了共享库,但无法在windows中创建dll。 有人能给出从源代码中获取dll的完整解释吗? (我也非常感谢您解释如何将dll与它的包含一起使用)

与visual studio 2015合作。

所以我终于得到了它。 对于linux用户,请使用cmake。对于windows用户-你可以,但我真的不推荐它,除非你需要交叉编译。使用visual studio:(针对VS 2017进行说明)

首先使用现有代码创建新项目。 您选择的文件夹应该是“src”(如果是cpp yaml)。 创建项目时,您需要选择项目类型(exe、动态或静态库),因此选择动态库创建.dll或静态库创建.lib

创建项目后,转到项目属性,转到c/c++选项卡-->常规-->“其他包含目录”,并将路径添加到headers文件夹(“包含”)。不要在包含文件夹中添加“cpp yaml”,只添加“包含”。 现在建造。在控制台中,您可以看到创建库的位置

要使用它,如果您创建了静态库,则需要做4件事:

  • 在项目中添加“#包括cpp yaml/yaml.h” 在属性中:
  • 在选项卡“c/c++-->General-->“其他包含目录”中,添加包含文件夹路径。(和以前一样)
  • 在选项卡“Linker”-->Input中,将您的库名(后跟分号)添加到“附加依赖项”中
  • 在选项卡“链接器”-->常规中,将lib的路径添加到“附加库目录”

  • 你用了CMake吗?查看CMakeLists.txt,在cmake gui中有一个构建共享库的选项。在VisualStudio上,您很可能仍然需要
    .lib
    文件,在本例中,该文件是一个导入库,而不是静态库。在Ubuntu中,我完成了所有步骤,一切正常。在Windows中,我也做了我认为需要做的所有事情,包括CMake,但它仍然不工作,我希望您必须显示哪些部分不工作才能获得帮助。不太可能有人会下载
    yaml cpp
    ,然后自己尝试来帮助您。您更有可能从了解
    CMake
    并能识别您在步骤中所犯错误的用户那里获得帮助。@drescherjm我要求对获取库的编译过程进行完整解释,而不是从另一个答案中找到某些不起作用的原因。没有什么好的文件可以从头到尾解释这一点。