【问题标题】:How to determine correct linker order for a c++ project in cdt eclipse?如何在 cdt eclipse 中确定 c++ 项目的正确链接器顺序?
【发布时间】:2015-12-19 05:18:40
【问题描述】:

我不想以任意顺序随机放置库,希望我得到正确的顺序。是否有系统的方法来确定 eclipse cdt 中的链接器库顺序?

错误:找不到 -l{某个项目}

【问题讨论】:

  • 我不明白您所说的图书馆订单是什么意思?你有没有得到任何链接器错误?请在此处粘贴。
  • /bin/ld: 找不到 -l{some project}
  • 没有所谓的订单。如果你有两次函数或类实现,编译会失败。
  • 在 C++ 中,库必须按照调用的顺序进行链接。我只是想知道您如何确定在 Eclipse 中将库输入到链接器中的顺序
  • @ElvisTeixeira 我添加了错误

标签: c++ linker-errors eclipse-cdt


【解决方案1】:

你说-l 指令必须遵循一定的顺序是正确的。但是,这个错误意味着不同的事情。链接器根本找不到您指定的库文件。也许,您缺少 -L 指令,该指令指定链接器在其中查找库文件的文件夹。比如

-L../bin -l{libname}

【讨论】:

    【解决方案2】:

    好的,只要你得到“找不到-lsomething。你应该把libsomething.so(或.dll或.a等,库)放在你选择的目录中,并告诉编译器查看这个目录带有编译器标志

      -L/path/to/libsomething
    

    请注意,-L 标志告诉编译器在哪里查找库,-l(小写)告诉它实际链接库,因此您必须提供前者的路径和后者的库名称。

    【讨论】:

      猜你喜欢
      • 2012-11-02
      • 1970-01-01
      • 2014-04-30
      • 1970-01-01
      • 1970-01-01
      • 2011-07-13
      • 2012-03-01
      • 2018-04-17
      • 2020-12-16
      相关资源
      最近更新 更多