在C项目中包括libcurl

在C项目中包括libcurl,c,libcurl,C,Libcurl,这是我的第一个C程序,我使用了他们网站上的libcurl代码示例: #include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://google.com/"

这是我的第一个C程序,我使用了他们网站上的libcurl代码示例:

#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
    CURL *curl;
    CURLcode res;

    curl = curl_easy_init();
    if(curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "https://google.com/");

#ifdef SKIP_PEER_VERIFICATION
        /*
         * If you want to connect to a site who isn't using a certificate that is
         * signed by one of the certs in the CA bundle you have, you can skip the
         * verification of the server's certificate. This makes the connection
         * A LOT LESS SECURE.
         *
         * If you have a CA cert for the server stored someplace else than in the
         * default bundle, then the CURLOPT_CAPATH option might come handy for
         * you.
         */ 
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
#endif

#ifdef SKIP_HOSTNAME_VERFICATION
        /*
         * If the site you're connecting to uses a different host name that what
         * they have mentioned in their server certificate's commonName (or
         * subjectAltName) fields, libcurl will refuse to connect. You can skip
         * this check, but this will make the connection less secure.
         */ 
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
#endif

        res = curl_easy_perform(curl);

        /* always cleanup */ 
        curl_easy_cleanup(curl);
    }
    return 0;
}
#包括
#包括
内部主(空)
{
卷曲*卷曲;
卷曲编码;
curl=curl_easy_init();
if(curl){
curl\u easy\u setopt(curl,CURLOPT\u URL,“https://google.com/");
#ifdef跳过\u对等\u验证
/*
*如果要连接到未使用证书的站点,则
*由您拥有的CA捆绑包中的一个证书签名,您可以跳过
*验证服务器的证书。这将建立连接
*更不安全。
*
*如果您将服务器的CA证书存储在
*默认的bundle,那么CURLOPT_CAPATH选项对于
*你。
*/ 
curl\u easy\u setopt(curl,CURLOPT\u SSL\u VERIFYPEER,0L);
#恩迪夫
#ifdef跳过主机名验证
/*
*如果您连接到的站点使用了不同的主机名,那是什么
*他们在服务器证书的commonName(或
*subjectAltName)字段,libcurl将拒绝连接。您可以跳过
*此检查失败,但这会降低连接的安全性。
*/ 
curl\u easy\u setopt(curl,CURLOPT\u SSL\u VERIFYHOST,0L);
#恩迪夫
res=旋度(curl)\u容易执行(curl);
/*始终清理*/
旋度\轻松\清洁(旋度);
}
返回0;
}
因此,在xcode中,我创建了一个名为curl的“组”,并在curl目录中添加了所有文件:

现在我得到了这些构建错误:


我做错了什么?任何建议都会有帮助,谢谢

Mac OS X附带了libcurl的副本,因此您的应用程序不需要自己的副本

您没有提到您正在使用的Xcode版本。以下内容适用于3.2,但可能不适用于4

要使用系统提供的libcurl版本,请转到
Project
,然后
添加到Project
。在弹出的对话框中,键入
/usr/lib
,然后按enter键。在文件列表中找到
libcurl.dylib
,然后单击Xcode 4.5的
Add

  • 单击左窗格中的项目
  • 点击目标
  • 转到“构建阶段”部分
  • 在“将二进制文件链接到库”下,单击加号
  • 从那里您应该可以搜索“libcurl.dylib”

  • 现在,当您构建它时,应该能够链接到库。

    对于XCode 7,只需右键单击要放入库的项目或组,然后选择
    将文件添加到“项目名称”…
    ,最后在
    /usr/lib
    目录中找到
    libcurl.dylib

    您应该将libcurl添加为库,不是一堆文件谢谢你的回复,我正在使用XCode,我似乎找不到一个“添加库”,我可以看到添加现有文件和添加现有框架,可能是其中之一吗?不知道,我不知道XCode:-(对不起,我很好奇,你的C项目使用什么?Xcode不是很好吗?我只是不使用Mac。对于我的C项目,我主要使用裸makefiles和and editor(即根本没有IDE),或Netbeans。因此,当我进入终端时,我可以在/usr/lib中找到ls并查看libcurl.dylib,但当我进入“添加到项目”时,我打开的对话框找不到它,即使我在整个系统中搜索该文件名,我也会将其复制到桌面,并将其包含在其中,我一定喜欢Mac:)干杯,伙计!默认情况下,Mac会在Finder和文件选择器对话框中隐藏/usr,但当您在对话框中键入“/”时,它会为您提供一种打开目录的方法,通常不会让您看到。我可能有不同版本的OS X或Xcode(分别为10.6.7和3.2.4 64位),但我没有任何地方键入“/”在我的对话框中,而不是右上角的搜索框中。我的“目录选择器”是一个下拉列表,无处键入任何内容