【问题标题】:C++ adding static libcurl, wont compileC ++添加静态libcurl,不会编译
【发布时间】:2013-08-31 14:17:30
【问题描述】:

我正在使用 eclipse 和 mingw32。我的问题是当我将-static 标志添加到链接器选项时,我收到此错误消息:mingw32/bin/ld.exe: cannot find -llibcurl

没有-static 标志,它结合得很好并且可以工作。我使用 mingw32 编译了 libcurl。然后我将头文件复制到 mingw include 文件夹,并将文件从 libcurl lib 文件夹复制到 mingw lib 文件夹。我做错了什么,但我不知道是什么。

【问题讨论】:

  • lib文件夹下的libcurl文件的扩展名是什么?
  • lib文件夹中有libcurl.res、libcurl.a、libcurl.dll、libcurl、def、libcurl.rc文件。

标签: c++ libcurl


【解决方案1】:

-static 表示“不要链接到共享库”。 当您不使用此选项时,链接器将二进制文件链接到共享版本(linux 上的 libcurl.so/windows 上的 libcurl.dll)。 可能您的开发环境中没有静态版本的 libcurl,或者您没有提供正确的文件路径 (libcurl.lib)。

【讨论】:

  • 我在 lib 文件夹中有 libcurl.a 文件,我认为它是一样的吗?是的,我想让 exe 在没有依赖的情况下工作,这就是我使用 -static 的原因。
  • 您可能会尝试将该文件的扩展名更改为 lib 并重试。据我所知 .lib 用于静态库。
  • 我试过了,但它给出了另一个:libcurl.lib(easy.o):(.text+0x1b5): undefined reference to `WSACleanup@0'
  • 这可能会有所帮助stackoverflow.com/questions/2033608/mingw-linker-error-winsock你可能还需要winsock库的静态版本或者你链接了它?
猜你喜欢
  • 2016-06-18
  • 1970-01-01
  • 2012-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 2018-11-08
  • 2012-03-21
相关资源
最近更新 更多