Download your favorite Linux distribution at LQ ISO.
Go Back > Forums > Linux Forums > Linux - Newbie
User Name
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!


  Search this Thread
Old 06-09-2010, 05:46 AM   #1
Registered: Mar 2009
Posts: 39

Rep: Reputation: 15
how to fix error"CURLOPT_USERNAME’ undeclared "in curl ftp programming

hi all ,

i have written file transfer program using libcurl.

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

* This is an example showing how to get a single file from an FTP server.
* It delays the actual destination file creation until the first write
* callback so that it won’t create an empty file in case the remote file
* doesn’t exist or something else fails.
#define UPLOAD_FILE_AS "11.txt"

struct FtpFile
const char *filename;
FILE *stream;

static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream)
struct FtpFile *out=(struct FtpFile *)stream;
if(out && !out->stream)
/* open file for writing */
out->stream=fopen(out->filename, "wb");
return -1; /* failure, can’t open file to write */
return fwrite(buffer, size, nmemb, out->stream);

int main(void)
CURL *curl;
CURLcode res;
struct FtpFile ftpfile={"11.txt", NULL}; /* name to store the file as if succesful */
struct curl_slist *headerlist=NULL;
static const char buf_1 [] = "DELE " UPLOAD_FILE_AS;

curl = curl_easy_init();

* Get curl 7.9.2 from’s FTP site. curl 7.9.2 is most likely not
* present there by the time you read this, so you’d better replace the
* URL with one that works!

headerlist = curl_slist_append(headerlist, buf_1);
curl_easy_setopt(curl, CURLOPT_URL, REMOTE_URL);
curl_easy_setopt (curl, CURLOPT_VERBOSE, 1);
curl_easy_setopt (curl, CURLOPT_USERNAME , "v4user");
curl_easy_setopt (curl, CURLOPT_PASSWORD ,"v4user");

/* Define our callback to get called when there’s data to be written */
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite);

/* Set a pointer to our struct to pass to the callback */
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile);

/* Switch on full protocol/debug output */
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);

curl_easy_setopt(curl, CURLOPT_POSTQUOTE, headerlist);
res = curl_easy_perform(curl);

/* always cleanup */

if(CURLE_OK != res)
/* we failed */
fprintf(stderr, "curl told us %d\n", res);

fclose(; /* close the local file */


return 0;


i am using command for compile:--
"gcc ftpget.c -o ftpget.o -lcurl"

on this command i getting these error:

ftpget.c:53: error: ‘CURLOPT_USERNAME’ undeclared (first use in this function)
ftpget.c:53: error: (Each undeclared identifier is reported only once
ftpget.c:53: error: for each function it appears in.)
ftpget.c:54: error: ‘CURLOPT_PASSWORD’ undeclared (first use in this function)

plz help me how to remove above it required any more header file to include?
Old 06-10-2010, 07:35 PM   #2
Andrew Benton
Senior Member
Registered: Aug 2003
Location: Birkenhead/Britain
Distribution: Linux From Scratch
Posts: 2,073

Rep: Reputation: 64
Have you tried asking this in the programming forum? This looks a bit beyond Newbie to me!


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Unexpected "Unsupported protocol: HTTPS" error in Apache/PHP/curl bions Linux - Server 6 11-29-2010 11:51 AM
Why is my only compile error "'Current:' Undeclared" gh0pp3r Programming 2 01-11-2010 12:28 AM
Upload files to FTP with "curl" angel115 Programming 4 09-13-2007 04:05 AM
LIRC make error "`HID_MAX_USAGES' undeclared here¨ jimdaworm Linux - Software 1 09-26-2006 03:16 PM
WHAT'S does this "curl: (7) socket error: 111" mean??? njugs79 Linux - Newbie 2 04-05-2005 05:41 AM > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 08:06 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration