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

libcurl C++: How to correctly install and use on CentOS 7

目标:

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.

详情:

libcurl 是通过 sudo yum install libcurl 安装的(也尝试使用 sudo yum install libcurl4-openssl-dev)。根据之前在 Ubuntu 20.04.1 LTS 上安装 libcurl 的经验,如果我没记错的话,我通过将 LD_LIBRARY_PATH 设置为指向 libcurl.so object 解决了类似的问题,如下所示,但这似乎对 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++ 程序时如何解决此错误?

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

The libcurl-devel package includes header files and libraries necessary for developing programs which use the libcurl library. It contains the API documentation of the library, too