2015-07-19 119 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

'main'在哪裏? –

+0

如果這應該是一個可運行的程序,則需要一個名爲'main'的函數作爲該程序的入口點。 – TheHippo

回答

4

當你編譯程序到您需要定義一個主要功能的可執行文件。否則,將正確的參數傳遞給gcc將其編譯到庫中。

+3

您可能需要稍微改變您的措辭:您不會編譯到庫中,可以將其編譯爲* object *或* shared共享對象。*靜態庫是在大多數平臺上使用不同程序創建的。 – fuz

相關問題