目标:
在 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
请注意:在提出此问题之前,请参考以下资源:
- https://lynxbee.com/how-to-resolve-fatal-error-curl-curl-h-no-such-file-or-directory-for-ubuntu-linux/
- Ubuntu - #include <curl/curl.h> no such file or directory
- curl.h no such file or directory
- How do I link libcurl to my c++ program in linux?
q1. 在CentOS 7上使用libcurl编译C++程序时,如何解决此错误?
libcurl-devel包含开发使用libcurl库的程序所需的头文件和库。它还包含库的API文档。
- Mr.Christer