【问题标题】:c++ linking a 3rd party header and sourcec ++链接第3方标头和源
【发布时间】:2013-01-19 21:49:04
【问题描述】:

我正在尝试将TinyXML version 2 集成到一个项目中,但是由于 TinyXML 非常小(哈哈!)它没有被打包到静态或动态库中。只提供了标题和来源。我收到链接器错误,因为编译器找不到与标头链接的源文件(它们位于同一位置)。

有没有办法将第 3 方源链接到项目中,而无需将其复制到本地项目空间中?

我是否应该手动创建一个库文件(包含单个源文件)并仅使用它来解决问题(即使源不更改是打包它的一个很好的理由,但对于一个文件来说似乎有点矫枉过正)?

[查看标签]

【问题讨论】:

    标签: c++ visual-studio-2010 tinyxml


    【解决方案1】:

    由于您不希望它出现在本地项目空间中,因此您似乎将其视为一个库,至少在概念上是这样。

    构建库文件一次,再也不用担心了。

    库中源文件的数量与您无关。

    【讨论】:

      【解决方案2】:

      或者,通过简单地将 .cpp 文件包含在单个翻译单元中来构建一个临时静态库。这可能会被一些人反对,但它是一个简单的解决方案,也有它的优点。

      【讨论】:

        【解决方案3】:

        包括tinyxml2.cpp 而不是tinyxml2.h。 或者您可以构建.lib 文件,包含.h 文件并告诉链接器使用您的.lib

        【讨论】:

          猜你喜欢
          • 2013-07-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多