2013-07-10 96 views
0

我需要編寫C++代碼來下載網頁,我知道我需要curl,即時使用Mac osx,所以我有libcurl在/ usr/include/curl中。當我編譯這個代碼,我得到這個錯誤:C++使用netbeans curl

#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, "http://example.com"); 
    /* example.com is redirected, so we tell libcurl to follow redirection */ 
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); 
    /* Perform the request, res will get the return code */ 
    res = curl_easy_perform(curl); 
    /* Check for errors */ 
    if(res != CURLE_OK) 
    fprintf(stderr, "curl_easy_perform() failed: %s\n", 
      curl_easy_strerror(res)); 

    /* always cleanup */ 
    curl_easy_cleanup(curl); 
} 
return 0; 
} 

以下是錯誤:

"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .clean-conf 
    rm -f -r build/Debug 
    rm -f dist/Debug/GNU-MacOSX/cppapplication 

    CLEAN SUCCESSFUL (total time: 54ms) 
    Undefined symbols for architecture x86_64: 
    "_curl_easy_cleanup", referenced from: _main in main.o 
    "_curl_easy_init", referenced from:  _main in main.o 
    "_curl_easy_perform", referenced from: _main in main.o 
    "_curl_easy_setopt", referenced from:  _main in main.o 
    "_curl_global_cleanup", referenced from:  _main in main.o 
    "_curl_global_init", referenced from:  _main in main.o 
    ld: symbol(s) not found for architecture x86_64 
    collect2: ld returned 1 exit status 
    make[2]: *** [dist/Debug/GNU-MacOSX/cppapplication] Error 1 
    make[1]: *** [.build-conf] Error 2 
    make: *** [.build-impl] Error 2 
    BUILD FAILED (exit value 2, total time: 264ms) 

回答

1

你應該在項目設置中添加curl庫:項目屬性 - 建設 - 鏈接。看起來你已經添加了一個標題的路徑,但是你還需要添加一個庫,在編譯階段之後它會被鏈接。

1

補充@ sasha.sochka的回答

screenshot of Project Build Properties