2016-09-05 5 views
0

私のsrcフォルダ内のコードを取得する方法を理解していないと、以下に示すようにインクルードフォルダ内のヘッダファイルが実行されます。'funtion_name'への未定義の参照

enter image description here

functions.hファイルが含まれており、srcはfunctions.cファイルだけでなく、私のmain.c

メインは#include "functions.h"が含まれているが含まれており、function.hfunction.c

で宣言された関数への参照を含めます

私がメインディレクトリにあるとき、すべてをコンパイルするために、私は以下を実行します:

gcc -Wall -Werror -Iinclude src/main.c 

しかし、私はターミナルでこれを取り戻す:

/tmp/ccHmaM4g.o: In function `main': 
main.c:(.text+0x78): undefined reference to `sum' 
collect2: error: ld returned 1 exit status 

私は、Linuxにかなり新しいです、私が間違ってやっているものを私に教えてください。 乾杯!

+0

あなたは他のCファイルをリンクしていません。 – tkausl

+0

@tkauslどうすればリンクできますか? – user287474

+0

'src'にはどのファイルがありますか? – Pierre

答えて

1

あなたはバイナリにfunction.cをリンクする必要があります。

gcc -Wall -Werror -Iinclude src/main.c src/function.c 
関連する問題