寫個Makefile
仁壽網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,仁壽網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為仁壽千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的仁壽做網(wǎng)站的公司定做!
,
以下在msys下測過
沒問題
/*
base
下的
main.c
*/
#include
stdio.h
#include
"./sub/file.h"
/*
注意
sub前面是
點和缸
*/
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就會自動調(diào)用命令顯示如下
gcc
-c
main.c
cd
./sub
gcc
-c
file.c
cd
..
gcc
-o
main
main.o
./sub/file.o
-I"./sub"
一種方式 是 通過 環(huán)境變量 INCLUDE, PATH, LIB 里的設(shè)置,編譯器 會到 那里去找。
用雙引號括起的方法 寫 包含 文件名字 可以 帶 詳細的 路徑。
例如:
#include "..\\DataBase\\include\\db.h"
例如:
#include "C:\\users\\public\\C\\LIB\\dbb.c"
路徑寫法 要符合自己用的操作系統(tǒng).
最簡單的辦法你把所有的源代碼文件(*.c *.h)放在同一個目錄下問題原因:可能是你的編譯器的搜尋目錄沒包括上實際所在目錄,操作系統(tǒng)無法確認可以編譯加載