libcurl C++:如何在CentOS 7上正确安装和使用

4

目标:

CentOS 7 上正确安装和使用 libcurl C++

当前输出:

当我使用命令 g++ somefile.cpp -lcurl -std=c++11 -o somefile 编译一个使用 libcurl 的程序时,会收到以下错误:

[user@localhost ~]$ somefile.cpp -lcurl -std=c++11 -o somefile
somefile.cpp:10:23: fatal error: curl/curl.h: No such file or directory
#include <curl/curl.h>
                       ^
compilation terminated.

细节:
通过“sudo yum install libcurl”(还试过“sudo yum install libcurl4-openssl-dev”)安装了libcurl。根据之前在Ubuntu 20.04.1 LTS上安装libcurl的经验,如果我没记错的话,我通过将LD_LIBRARY_PATH设置为指向一个libcurl.so对象来解决类似的问题,如下所示,但这在CentOS 7上似乎没有任何效果。
[user@localhost ~]$ export LD_LIBRARY_PATH=/usr/local/lib/libcurl.so.4
[user@localhost ~]$ sudo ldconfig

如果我运行以下命令,我可以看到libcurl版本,这让我相信它已经被正确安装了:
[user@localhost ~]$ curl --version
curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.53.1 zlib/1.2.7 libidn/1.28 libssh2/1.8.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp 
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets

请注意:在提出此问题之前,请参考以下资源:
  1. https://lynxbee.com/how-to-resolve-fatal-error-curl-curl-h-no-such-file-or-directory-for-ubuntu-linux/
  2. Ubuntu - #include <curl/curl.h> no such file or directory
  3. curl.h no such file or directory
  4. How do I link libcurl to my c++ program in linux?
简要问题:
q1. 在CentOS 7上使用libcurl编译C++程序时,如何解决此错误?

1
你安装了libcurl-devel吗?libcurl-devel包含开发使用libcurl库的程序所需的头文件和库。它还包含库的API文档。 - Mr.Christer
@Mr.Christer 不,我之前没有这样做 - 但现在我已经做了,它可以工作。我不认为我在Ubuntu上安装时需要这样做,但我记不清了。如果您愿意,请将您的评论作为答案,我会接受它。感谢您的帮助。 - p.luck
1
太好了!很高兴能帮忙。还要谢谢! - Mr.Christer
1个回答

5

您需要安装libcurl-devel软件包,因为它包含您缺少的头文件。

libcurl-devel软件包包含开发使用libcurl库的程序所需的标头文件和库。它还包含该库的API文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接