如何将 libcurl 与 dev c++ 静态链接?

Posted

技术标签:

【中文标题】如何将 libcurl 与 dev c++ 静态链接?【英文标题】:How to statically link libcurl with dev c++? 【发布时间】:2011-08-17 08:17:47 【问题描述】:

最近我试图将 libcurl 与 dev c++ 静态链接。我链接了所有 .a 文件,除了来自 libcurl 的 libcurldll.a 文件,我定义了 CURL_STATICLIB 。但我收到了一些链接器错误。然后我在谷歌搜索这个链接器错误的解决方案,我发现应该链接“libwsock32.a”。最后我链接了 libwsock32.a。但我仍然收到不同的链接器错误......错误就像......

[Linker error] undefined reference to `_imp__ldap_set_optionA' 
[Linker error] undefined reference to `_imp__ldap_initA' 
[Linker error] undefined reference to `_imp__ldap_set_optionA' 
[Linker error] undefined reference to `_imp__ldap_simple_bind_sA' 
[Linker error] undefined reference to `_imp__ldap_search_sA' 
[Linker error] undefined reference to `_imp__ldap_first_entry' 
[Linker error] undefined reference to `_imp__ldap_get_dnA' 
[Linker error] undefined reference to `_imp__ldap_first_attributeA' 
[Linker error] undefined reference to `_imp__ldap_get_values_lenA' 
[Linker error] undefined reference to `_imp__ldap_value_free_len' 
[Linker error] undefined reference to `_imp__ldap_memfreeA' 
[Linker error] undefined reference to `_imp__ldap_next_attributeA' 
[Linker error] undefined reference to `_imp__ldap_memfreeA' 
[Linker error] undefined reference to `_imp__ldap_next_entry' 
[Linker error] undefined reference to `_imp__ldap_err2stringA' 
[Linker error] undefined reference to `_imp__ldap_unbind_s' 
[Linker error] undefined reference to `_imp__ldap_msgfree' 

等等…………

我还在 google 中搜索了这个链接器错误,但没有找到。 Plzzzz 给我一个解决方案,为什么我会收到此链接器错误????

【问题讨论】:

请阅读dev-c++的描述,然后使用不同的IDE。 如果你从源代码构建 curl,你应该有 curl-config 实用程序。使用 --libs 标志运行它以获取您需要链接到必要依赖项中的编译器开关。 【参考方案1】:

对于 Windows 和 Mingw gcc 或 g++,添加 libwldap32.a 到链接器, 从字面上看,它是一个 -lwldap32 链接器选项。

【讨论】:

【参考方案2】:

看来您需要与ldap 关联。您还应该考虑不使用 Dev-C++,并使用积极开发的高质量 IDE,例如 Eclipse CDT

【讨论】:

根据您的建议,我已经开始使用 code::blocks ide....但是我仍然收到相同的链接器错误....我现在该怎么办???? 更改 IDE 不太可能改变编译结果(IDE 和编译器是独立的程序)。你安装OpenLDAP了吗? (很抱歉再次问,当它已经在我的答案中,但这是我唯一能想到的) 另外,您是否按照 these docs 的 MingW32 部分中的说明进行操作?您使用的是哪个版本的 GCC?

以上是关于如何将 libcurl 与 dev c++ 静态链接?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 libcurl C++ 调用超时和/或知道调用中何时发生超时

链接 libcurl 问题

c++意外静态链表

C++进阶详解C++开源网络传输库libcurl的编译过程

用 C++ 构建 libcurl 库,菜鸟问题

如何使用 libcurl(对于 Influxdb)发布包含换行符的数据?