Cygwin can't compile c with gcc

时间:2015-04-23 05:42:58

标签: c gcc cygwin windows-8.1

I am trying to compile a c program with cygwin and gcc. I am using Windows 8.1

I get the following error ...

/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../lib/libcygwin.a(libcmain.o): In function `main':
/usr/src/debug/cygwin-1.7.35-1/winsup/cygwin/lib/libcmain.c:39: undefined reference to `WinMain'
/usr/src/debug/cygwin-1.7.35-1/winsup/cygwin/lib/libcmain.c:39:(.text.startup+0x7e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `WinMain'
collect2: error: ld returned 1 exit status

Does anyone know what is going on here?

My code looks like ... (taken from link removed... page full of ads)

edit: link : http://c.learncodethehardway.org/book/ex14.html

#include <stdio.h>
#include <ctype.h>

// forward declarations
int can_print_it(char ch);
void print_letters(char arg[]);

void print_arguments(int argc, char *argv[])
{
    int i = 0;

    for(i = 0; i < argc; i++) {
        print_letters(argv[i]);
    }
}

void print_letters(char arg[])
{
    int i = 0;

    for(i = 0; arg[i] != '\0'; i++) {
        char ch = arg[i];

        if(can_print_it(ch)) {
            printf("'%c' == %d ", ch, ch);
        }
    }

    printf("\n");
}

int can_print_it(char ch)
{
    return isalpha(ch) || isblank(ch);
}


int main(int argc, char *argv[])
{
    print_arguments(argc, argv);
    return 0;
}

On the command line I run ...

gcc learn.c -Wall -o learnc.exe

I could run my code yesterday. I have not made any change to my system settings or file structure.

Thanks!

0 个答案:

没有答案