3 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
你是說(shuō)直接編譯嗎?VC++ 6.0 編譯器:
CL Amain.c sub\file.c sub2\file2.c
就生成 Amain.exe 了。
例如:
主文件里有 原型聲明 extern void hello(char *name);
有 調(diào)用 hello("abcd");
file.c 里有:
#include <stdio.h>
void hello(char *name)
{printf("hello %s !\n", name);}
跑 Amain.exe 就可以了。

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
寫(xiě)個(gè)Makefile , 以下在msys下測(cè)過(guò) 沒(méi)問(wèn)題
/* base 下的 main.c */
#include <stdio.h>
#include "./sub/file.h" /* 注意 sub前面是 點(diǎn)和缸 */
int main()
{
printf("enter main function!\n");
hello("veket_linux");
printf("back to main!\n");
return 0;
}
/* base 下的 sub 下的 file.c */
#include <stdio.h>
extern void hello(char *name)
{
printf("this is hello function, hello %s !\n", name);
}
/* base 下的 sub 下的file.c的頭文件 file.h */
extern void hello(char *);
#base 下的 Makefile
main:main.o file.o
gcc -o main main.o ./sub/file.o -I"./sub"
main.o:main.c
gcc -c main.c
file.o:./sub/file.c
cd ./sub && gcc -c file.c && cd ..
終端下 在base 目錄敲make命令
make就會(huì)自動(dòng)調(diào)用命令顯示如下
gcc -c main.c
cd ./sub && gcc -c file.c && cd ..
gcc -o main main.o ./sub/file.o -I"./sub"
- 3 回答
- 0 關(guān)注
- 160 瀏覽
添加回答
舉報(bào)