[問題] GCC Command Line

看板LinuxDev作者 (上班族之朝九晚六?!)時間14年前 (2011/03/21 17:58), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
小弟是使用OpenSUSE的新手,目前在學習使用Command Line Compile C, 使用的當然是GCC Compiler, 我碰到的問題是這樣的: 我要把Test.c precompile 成 Test.o,然後Test.c 裡面有include一個A.h, A.h和Test.c放在同一個目錄裡面, 我在Command Line當中輸入(已經移到該目錄,假設為~/Level0/Level1/): cc -I. Test.c -o Test.o <--失敗 cc -I./ Test.c -o Test.o <--還是失敗 不過,當我移到上一層目錄(~/Level0/),然後輸入: cc -I./Level1/ ./Level1/Test.c -o ./Level1/Test.o <--成功產生Test.o 失敗的錯誤訊息為: /usr/lib/gcc/i586-suse-linux/4.4/../../../crt1.o: In function `_start': /usr/src/packages/BUILD/glibc-2.10.1/csu/../sysdeps/i386/elf/start.S:115: undefined reference to `main' collect2: ld returned 1 exit status 請問為什麼會這樣子呢? 還是說失敗的寫法其實是有問題的? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.221.67.235

03/21 18:41, , 1F
要加-c 才會只編譯不連結,不然會linking成執行檔,又因為
03/21 18:41, 1F

03/21 18:41, , 2F
你沒有main 的函式所以才會顯示linking error了
03/21 18:41, 2F

03/22 09:30, , 3F
感謝解答 ^___^
03/22 09:30, 3F

03/28 23:10, , 4F
可能未定義主參數(Main)
03/28 23:10, 4F
文章代碼(AID): #1DXo4zkm (LinuxDev)
文章代碼(AID): #1DXo4zkm (LinuxDev)