【问题标题】:Linking to a library that links to a library链接到链接到库的库
【发布时间】:2011-09-02 04:02:19
【问题描述】:

我正在尝试将 cpgui 链接到我的库,该库链接到 SFML。我使用code::blocks,所以我必须为该库创建自己的项目,因为它需要SFML,所以我静态链接到该库中的SFML,并对其进行了很好的编译。

现在,当我尝试将该库静态链接到我的库时,当我编译我的项目时,我得到了一堆SFML 的未定义引用。即使我在两个项目中都链接到SFML,发生了什么?

【问题讨论】:

  • 您应该能够只链接到您要使用的库。该库应该已经编译并链接到它所拥有的任何依赖项,如果它都是静态的,你甚至不需要部署任何东西,除了你的应用程序或你正在制作的任何东西。但是,您应该检查您没有冲突的 SFML 版本或跨项目的其他常见依赖项。
  • 我自己编译它并链接到我的 SFML 版本,所以它可能是我的链接器的错误或该项目的错误。那好吧。无论如何,我让它工作了。
  • 出于好奇,解决方案是什么?
  • 我没有链接库,而是简单地将源文件添加到当前项目中。
  • 嗯,我想这是一种方法,如果它是开源的并且你无论如何都要静态链接:P

标签: c++ gcc linker codeblocks sfml


【解决方案1】:

如您所料,您可以通过将库文件直接添加到项目中来简化它。

AJG85 建议的另一个解决方案是链接库——在处理冲突的依赖项之后。

使用回复How do I link a library to my project in CodeBlocks & GCC without adding the library source to my project建议的相关文档

【讨论】:

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