链接 libcurl 问题

Posted

技术标签:

【中文标题】链接 libcurl 问题【英文标题】:Linking libcurl issue 【发布时间】:2013-01-28 03:04:44 【问题描述】:

我正在尝试在 ubuntu 上编译一个需要 libcurl 的 C++ 项目。

我已经安装了以下软件包:

libcurl4-gnutls-dev

运行“pkg-config --libs curl”返回:

-lcurl

运行“curl-config --libs”返回:

-L/usr/lib/i386-linux-gnu -lcurl

这是我的 g++ 构建命令行:

g++ -lboost_program_options -pthread -L/usr/lib/i386-linux-gnu -lcurl main.cpp

这些是我得到的错误:

main.cpp:(.text+0x374): undefined reference to `curl_easy_init'
main.cpp:(.text+0x416): undefined reference to `curl_easy_setopt'
main.cpp:(.text+0x434): undefined reference to `curl_easy_setopt'
main.cpp:(.text+0x442): undefined reference to `curl_easy_perform'
main.cpp:(.text+0x450): undefined reference to `curl_easy_cleanup'

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

g++命令中参数顺序很重要,试试:

g++ main.cpp -L/usr/lib/i386-linux-gnu -lboost_program_options -pthread  -lcurl 

【讨论】:

非常感谢。我以前遇到过这个问题,但出于某种原因,我确信它的顺序是正确的。我什至继续查看 g++ 帮助页面,它是:“用法:g++ [options] 文件...”。无论如何,再次感谢。

以上是关于链接 libcurl 问题的主要内容,如果未能解决你的问题,请参考以下文章

Windows 链接到 libcurl_a.lib

使用 OpenSSL 构建 LibCurl 会导致链接器错误

无法定位序数4444于动态链接库libcurl.dll应当如何解决?

每次电脑现出 libcurl.dll丢示,咋办

计算机libcurl.dll文件丢失怎么解决

如何解决 C++Builder 中的链接器错误“LIBCURL.LIB 包含无效的 OMF 记录,类型 0x21(可能是 COFF)”?