Dar*_*der 3 c++ macos curl header path
我试图在mac上执行此代码.我已经安装了卷发.当我搜索卷曲时,我可以找到它/usr/include/curl/curl.h.以下是我想要运行的程序.取自这里.
#include <iostream>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译程序时.见下文.
g++ simple.cpp
Undefined symbols:
"_curl_easy_perform", referenced from:
_main in cciFNPkt.o
"_curl_easy_init", referenced from:
_main in cciFNPkt.o
"_curl_easy_setopt", referenced from:
_main in cciFNPkt.o
"_curl_easy_cleanup", referenced from:
_main in cciFNPkt.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?为什么程序找不到这个文件的路径?
我该如何解决?
小智 6
您忘记链接libcurl库:
g++ simple.cpp -lcurl
Run Code Online (Sandbox Code Playgroud)
诸如<curl/curl.h>(通常)之类的头文件仅声明存在一组函数但不包含实际函数.对于OS X Lion上的curl,这些函数位于libcurl中(/usr/lib/libcurl.dylib,它指向/usr/lib/libcurl.4.dylib).您需要告诉链接器(通过编译器前端)关于该库,可以通过它来完成-lcurl.
该程序确实找到了包含文件,但没有找到库文件.
库文件应该类似于libcurl.dylib或libcurl.a
使用它来链接它:
g++ simple.cpp -lcurl
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1984 次 |
| 最近记录: |