【问题标题】:How to do static linking in Eclipse CDT?如何在 Eclipse CDT 中进行静态链接?
【发布时间】:2012-08-24 22:37:11
【问题描述】:

我正在尝试静态链接到 C++ 中的第三方 C 库。

我设法在 Visual Studio 中通过在链接器输入选项中指定 .lib 文件来做到这一点。但是,当我在 CDT(项目属性 -> 设置 -> MinGW C++ 链接器 -> 库)中执行等效操作时,我在尝试构建时会收到无数“未定义的引用...”错误。

为了在 CDT 中实现静态链接,我还需要做些什么吗?

谢谢, 艾伦

【问题讨论】:

  • 您要链接到一个库,该库是您工作区中另一个项目的结果,还是您的 MinGW 环境提供的库?
  • 我不确定,但这可能是因为您的库是使用 VC++ 编译的。您可能需要 MinGW 编译的二进制文件。
  • 也不是第三方库。我有一个用于静态链接的 .lib 文件和另一个用于动态链接的 .lib 和 .dll 文件。我可以在 Eclipse 中进行动态链接,但不是静态的。

标签: c++ c eclipse visual-studio eclipse-cdt


【解决方案1】:

如果该第三方库是为 Visual C 环境和 Microsoft Visual Studio 编译器构建的,您可能无法将其与 MinGW 编译器链接。

但是,您可以在 Windows 上配置 Eclipse CDT 以使用 Visual Studio 命令行编译器 CL.EXE 编译您的代码,然后一切都会按您的预期工作。

这在很大程度上取决于您使用的是哪个版本的 Eclipse CDT,因为 Microsoft 编译器设置插件只是较新版本的一部分(我认为它来自 Helios)。

【讨论】:

  • 我怀疑这是问题所在,但迁移到 Visual Studio 编译器对我们来说是不可行的,所以我们决定采用对我们有用的动态链接。
猜你喜欢
  • 2011-06-24
  • 2012-07-23
  • 1970-01-01
  • 2011-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-25
  • 2018-10-31
相关资源
最近更新 更多