作者WalkingIce ( 殺手哥吉拉 13)
看板Linux
標題Re: [問題] gcc 不能過
時間Wed Mar 25 01:05:12 2009
※ 引述《bluehaerts (5858笨58)》之銘言:
: 請問各位高手:
: 我在 vi 裡面編輯一個簡單讀取 字元 的c程式
: 可是 編譯之後 他沒有 #include<conio.h> 這個標題檔
: 所以我 getch() 不能用
: 請問 我再gcc 的時候 要加入哪個參數
: 我知道 include<math.h>
: 是在 gcc 檔名.c -lm
: 可是........我不知道 #include<conio.h>
: 這個要加啥 google 也是不知道 要查啥關鍵字
: 請問 各位高手 可以提示一下嘛
: 補一下他的訊息
: /tmp/ccAF0Xdk.o(.text+0x67): In function `main':
: : undefined reference to `getch'
: collect2: ld returned 1 exit status
首先要知道你要 include 的 header file 放在哪裡
也就是 conio.h 放在哪
假設它在 /usr/local/include/bluehaerts 裡面
在 gcc 編譯的時候就把這個路徑加入到搜尋路徑裡面
gcc 檔名.c -lm -I/usr/local/include/bluehaerts
--
隨手關電腦,救救北極熊
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.177.157
推 bluehaerts:可是 是學校主機 我可以 用啥指令查到嘛 03/25 01:10
推 bluehaerts:他放在哪個位子嘛 03/25 01:13
推 bluehaerts:還有 我們學校主機 只要打 檔名.C -lm 03/25 01:17
→ bluehaerts:就可以編譯了耶 不用 加後面那串說 03/25 01:17
推 jtmh:因為 math.h 是放在 gcc 預設就會去找的地方,所以不用加 -I 03/25 03:53
→ jtmh:這種編譯選項就能編譯了。 03/25 03:55
→ jtmh:另外補充一點,header file 和 library file 是兩回事,加了 03/25 04:04
→ jtmh:-I<header 路徑> 通常也必須另外再加 -L<library 路徑> 才能 03/25 04:06
→ jtmh:成功編譯。 03/25 04:07