請教一下
如果我有一程式的目錄結構如下
main.c
Makefile
network/
--/function.c
--/function.h
--/Makefile
fileio/
--/iofunction.c
--/iofunction.h
--/usbfunction.c
--/usbfunction.h
--/Makefile
main.c有呼叫一些function所以
main.c include function.h and iofunction.h usbfunction.h
我在編譯時都是這麼編譯的(在 Makefile中)
在最top_dir下
make all
接著會各自在子目錄中 make all,在各目錄會產生.o檔,而在fileio會產生一個.a
語法如下:
gcc -v -g -c -o function.o function.c
gcc -v -g -c -o iofunction.o
gcc -v -g -c -o usbfunction.o
ar rc fileio.a iofunction.o usbfunction.o
最後,main.c在跟這些檔案編在一起
gcc -v -g -o main network/function.o fileio/fileio.a
但是,問題出現了
在編main.c時會出現error,如:
main.c:14:28: error: network/function.h: No such file or directory
main.c:15:29: error: fileio/iofunction.h: No such file or directory
main.c:16:29: error: fileio/usbfunction.h: No such file or directory
.....
請問一下,是我哪邊沒注意到
導致編譯出現了問題?
那這樣要怎麼樣下指令呢
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.216.117