作者PICASSO1 (Pablo Picasso G.)
看板LinuxDev
標題[問題] 用GCC編譯兩個*.C檔??
時間Wed Feb 20 09:01:39 2008
請問我現在有兩個*.C檔和一個*.H檔,我要把它們編成一個執行檔,我的步驟如下
(Main.C, FunC.C, FunC.H):
1. gcc –c –g –Wall Main.C –o Main.O
# 產生Main.O
2. gcc –c –g –Wall FunC.C –o FunC.O
# 產生FunC.O
3. gcc –Wall Main.O FunC.O –o Main
# 這一步要產生執行檔Main,但這一步
出現Error Message,如下:
Main.O(.eh_frame+0x11): In function `main':
/root/TEST/Main.C:6: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
請問我的步驟那裡錯了??謝謝!!
Annex:
// Language: C, Compiler: gcc, OS: RH9
// FunC.C
#include <stdio.h>
#include "FunC.H"
void Show(void)
{
printf("Hello!! World!! \n");
return;
}
// FunC.H
#ifndef FUNC_H
#define FUNC_H
void Show(void);
#endif
// Main.C
#include <stdio.h>
#include "FunC.H"
int main(int argc, char *argv[], char *envp[])
{
Show();
return 0;
}
--
來~剝好了,小心燙喔~ ◢◤ ◢
︴◤ ▆ ▆喔喔~ ◢◤
ˋ◢██◣ ◢██◣◢ 哇~ ◢◤ ◣◢██◣◥█ ρ◤ ██◢◤
█◥◥◥ ◤◤◤ █ ˊ你好體貼喔~ ◢◤ █ ◥◥◥ ∴ ◣ ██◢◤
◤ ● ●⊿ ●●▄ ◥ ◢◤唉呀! ◤ ● <ζ█◥◣ ◢◤
◥██ ◤◣ ◥▼"█◤◣ ◢◤好燙~ˋ ◢◥█"▅/▊█◣ ◢◤
◢◣██◤ ◢▏█▉◣ ◢◤ ◢██╲ █︴◤
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.229.128.76
1F:→ PICASSO1:這個版早上居然沒人耶!!....@@ 02/20 09:02
2F:推 Falldog:我試了 沒問題耶=_= 02/20 12:57
3F:→ PICASSO1:你照我的指令打沒問題??我用FC4也是有問題耶!! 02/20 13:11
4F:→ PICASSO1:同樣的Error Message!! 02/20 13:11
5F:推 Falldog:Ubuntu6.06 指令輸入一樣的 沒問題 02/20 13:33
6F:推 Bencrie:你的副檔名是小寫嗎 ? 02/20 14:01
8F:→ mefuck:你要不要先試試將FunC.o編譯出來 再去編Main.o 02/20 17:31
9F:推 jlovet:副檔名要用小寫,不然會當成C++, C++最後步驟就要 -lstdc++ 02/20 20:53
10F:推 freesamael:不要習慣大小寫不分... 02/20 21:34
11F:推 final01:原來大寫會用C++去編喔~真神奇! 02/20 21:52
12F:推 Falldog:我測是用小寫的檔名 XD 02/20 23:49