找不到卷曲符号
问题描述:
真的很愚蠢的C问题。找不到卷曲符号
我想在这里建立的源代码,这样我就可以修改它为自己
http://curl.haxx.se/libcurl/c/ftpget.html
我下载的文件启动,那么运行
gcc -o test ftpget.c
,并得到
Undefined symbols:
"_curl_global_init", referenced from:
_main in ccFchguB.o
"_curl_easy_perform", referenced from:
_main in ccFchguB.o
"_curl_easy_setopt", referenced from:
_main in ccFchguB.o
_main in ccFchguB.o
_main in ccFchguB.o
_main in ccFchguB.o
"_curl_easy_cleanup", referenced from:
_main in ccFchguB.o
"_curl_easy_init", referenced from:
_main in ccFchguB.o
"_curl_global_cleanup", referenced from:
_main in ccFchguB.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
这对我没有意义,因为
/usr/local/include/curl/curl.h
存在并具有这些功能。我相信这是我错过的一些基本的编译工具。
非常感谢任何指针。
答
您需要使用curl库链接:
gcc -o test ftpget.c -lcurl
你能解释取悦为什么链接到lcurl需要在这种情况下? – Ritesh 2014-10-03 15:22:29
我该怎么做? – 2015-05-30 09:05:46
@Ritesh''curl.h'在'pre-processing'时间被包含,您的编译器只抓取头文件中的声明,但没有定义。如果你没有链接这些库(大部分是包含那个库中定义的二进制对象),你将会收到编译器提供的'undefined symbols'错误。 – 2017-10-12 20:16:42