sum.h をインクルードして、
sum.h で プロトタイプ宣言をしており、
sum.c に sum()があります。
なぜ、未定義の参照になるのか分かりません。
C
1# grep -n "" * 2main.c:1:/* main.c */ 3main.c:2: 4main.c:3:#include <stdio.h> 5main.c:4:#include "sum.h" 6main.c:5: 7main.c:6:int main(void) { 8main.c:7: int value; 9main.c:8: value = sum(50, 100); 10main.c:9: printf("%d\n", value); 11main.c:10: 12main.c:11: return 0; 13main.c:12:} 14 15sum.c:1:/* sum.c */ 16sum.c:2: 17sum.c:3:int sum(int min, int max) { 18sum.c:4: int num; 19sum.c:5: num = (min + max) * (max - min + 1) / 2; 20sum.c:6: 21sum.c:7: return num; 22sum.c:8:} 23 24sum.h:1:/* sum.h */ 25sum.h:2: 26sum.h:3:int sum(int min, int max); 27 28# gcc main.c 29/tmp/cc7uPCRK.o: In function `main': 30main.c:(.text+0x13): undefined reference to `sum' 31collect2: ld returned 1 exit status
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/02 15:04