2015-07-19 4 views
-1

my code (я новичок):я имею эту ошибку, когда я пытаюсь скомпилировать

#include <stdio.h> 
#include <stdbool.h> 

int numr(int max) { 
    int num = 2; 
    scanf("%d", &num); 
    if (num > max) { 
     printf("option not available\n"); 
    } 
    else { 
     return num; 
    } 
} 

Я пытаюсь скомпилировать с помощью GCC версии 4.9.2 (Debian 4.9.2-10) amd64.

Но у меня есть эта ошибка:

 
usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crt1.o: dans la fonction « _start »: /build/glibc-Ir_s5K/glibc 2.19/csu/../sysdeps/x86_64/start.S:118: référence indéfinie vers « main » 
collect2: error: ld returned 1 exit status 
+1

Где находится "главное"? –

+0

Если это должна быть работающая программа, вам нужна функция с именем 'main' в качестве точки входа для программы. – TheHippo

ответ

4

При компиляции программы в исполняемый файл вам необходимо определить основную функцию. В противном случае передайте правильные аргументы gcc, чтобы скомпилировать их в библиотеку.

+3

Возможно, вы захотите немного изменить свою формулировку: вы не компилируете в библиотеку, вы компилируете либо в * объект *, либо в * общий объект. * Статическая библиотека - это то, что создано с другой программой на большинстве платформ , – fuz

Смежные вопросы