當前位置:首頁 » 編程軟體 » 如何編譯makefile文件

如何編譯makefile文件

發布時間: 2022-08-12 09:41:52

㈠ 如何用makefile進行編譯

假設有下面幾個c++文件:wherewhen.h wherewhen.c countdown.h countdown.c 包含了math.h, 需要連接庫文件 main.c 主函數, main.c 包含了兩個頭文件 wherewhen.h and countdown.h 1、第一種編譯方法:g++ -Wall -g wherewhen.c countdown.c main.c -lm -o myprogram 生成可執行文件myprogram 2、第二中編譯方法, 分別編譯各個文件:g++ -Wall -g -c wherewhen.c g++ -Wall -g -c countdown.c g++ -Wall -g -c main.c g++ -g wherewhen.o countdown.o main.o -lm -o myprogram

㈡ 如何用makefile編譯多個c文件

假設有下面幾個c++文件:
wherewhen.h
wherewhen.c
countdown.h
countdown.c
包含了math.h,
需要連接庫文件
main.c
主函數,
main.c
包含了兩個頭文件
wherewhen.h
and
countdown.h
1、第一種編譯方法:
g++
-Wall
-g
wherewhen.c
countdown.c
main.c
-lm
-o
myprogram
生成可執行文件myprogram
2、第二中編譯方法,
分別編譯各個文件:
g++
-Wall
-g
-c
wherewhen.c
g++
-Wall
-g
-c
countdown.c
g++
-Wall
-g
-c
main.c
g++
-g
wherewhen.o
countdown.o
main.o
-lm
-o
myprogram

linux如何編寫並使用makefile

1、先寫Makefile編譯出***.ko文件
模板如下,保存到命名為Makefile文件里,放到你代碼的同級目錄下
TARGET=my_proc.ko
LINUXDIR=/lib/moles/$(shell uname -r)/build
PWD=$(shell pwd)
obj-m :=
obj-m += my_proc.o

all: $(TARGET)
$(TARGET): $(OBJS)
make -C $(LINUXDIR) SUBDIRS=$(PWD) moles
clean:
rm -f moles.order Mole.symvers $(TARGET) *.mod.c *.o
rm -rf .tmp_versions .mod* Mole.markers
2、make
3、root許可權下用命令插入模塊
insmod my_proc.ko
4、可以用你寫的應用程序打開、操作模塊了
5、查看模塊命令
lsmod
cat /proc/moles
modinfo my_proc.ko
6、root下卸載模塊
rmmod

㈣ 有makefile文件怎麼編譯

makefile不是被編譯的,它是用來指導編譯器和鏈接器來編譯程序源文件的,這個文件也是個文本文件,具體格式你可以在網上查一下。

㈤ 在VC里如何用Makefile文件編譯

運行cmd.exe (or command.com in win9x)->進到vc/bin目錄->運行vc-vars32.bat->進到makefile 所在的目錄->nmake /f makefile
從sourceforge上下載下來的libjpeg源代碼中有一個makefile.vc的文件,可以通過nmake /f makefile.vc [nodebug=1]來編譯libjpeg,但是只能編譯靜態庫,如果需要編譯dll以便在emacs等程序中使用的話,需要修改makefile.vc和jmorecfg.h文件。在makefile.vc文件中添加編譯dll規則:
以下內容為程序代碼:
libjpeg.lib: $(LIBOBJECTS) $(RM) libjpeg.lib lib -out:libjpeg.lib $(LIBOBJECTS) #
添加以下這行 libjpeg.dll: $(LIBOBJECTS) $(RM) libjpeg.dll link -dll -out:libjpeg.dll $(LIBOBJECTS) 在jmorecfg.h中添加#define _WIN32_#define JPEG_DLL 然後nmake /f makefile.vc nodebug=1就可以編譯了。
將makefile復制為一個.mak文件,然後用VC打開即可!
.mak 就是一個makefile
可以指定怎樣編譯(命令行,必須先設置VC命令行環境)
vcvars32.bat可設置環境,在vc98/bin下 nmake /f XXXX.mak
如果有一個makefile就只要nmake就可以了。

㈥ 什麼是makefile 如何編寫makefile

一個target,即最終創建的東西
一個和多個dependencies列表,通常是編譯目標文件所需要的其他文件
需要執行的一系列commands,用於從指定的相關文件創建目標文件
make執行時按順序查找名為GNUmakefile,makefile或者Makefile文件,通常,大多數人常用Makefile
Makefile規則:
target: dependency dependency [..] command command [..]
注意:command前面必須是製表符例子:
editor: editor.o screen.o keyboard.o
gcc -o editor editor.o screen.o keyboard.o
editor.o : editor.c editor.h keyboard.h screen.h
gcc -c editor.c
screen.o: screen.c screen.h
gcc -c screen.c

㈦ 什麼是makefile如何編寫makefile

makefile是Linux下使用gcc編譯源程序時,所依賴的規則文件。
比如你在編譯一個hello.c的源文件,使用gcc編譯器,如何編譯?生成可執行程序的名字叫什麼,都需要在makefile裡面定義這個規則。
具體教程,可以參考宅學部落(微信公眾號):《Makefile工程實踐》視頻教程,教你從零開始一步一步如何寫一個企業項目的Makefile,從小白到專家。

㈧ 用makefile編輯的文件怎麼編譯

我們在linux下進行編程的時候,會發現我們沒有工程文件,然後,我們在不同目錄下
的文件如此雜亂無章,讓我們感到頭疼,怎麼可以把它們進行同步在一起,然後,一起進行編譯呢,
這里,就是我們需要用到的工具了,makefile文件的作用了,makefile可以有效地組織文件和目錄,
把處於不同目錄下的文件進行同時編譯,而不會因為目錄的不同,而有所差別。
這里,我來分享一下makefile的簡單的用法。
1:基本的格式:
magproc:magproc.o dbproc.o
$(EC) -o $(BINPATH)/$@ $? $(LIB)
可執行文件名:鏈接文件
編譯工具 (參數) (鏈接庫) 文件名
2:工程文件Make.defines

3:makefile文件

http://jingyan..com/article/48206aeaf9e82e216ad6b335.html

㈨ 如何用vs和makefile文件進行編譯

運行cmd.exe (or command.com in win9x)->進到vc/bin目錄->運行vc-vars32.bat->進到makefile 所在的目錄->nmake /f makefile
從sourceforge上下載下來的libjpeg源代碼中有一個makefile.vc的文件,可以通過nmake /f makefile.vc [nodebug=1]來編譯libjpeg,但是只能編譯靜態庫,如果需要編譯dll以便在emacs等程序中使用的話,需要修改makefile.vc和jmorecfg.h文件。在makefile.vc文件中添加編譯dll規則:
以下內容為程序代碼:
libjpeg.lib: $(LIBOBJECTS) $(RM) libjpeg.lib lib -out:libjpeg.lib $(LIBOBJECTS) #
添加以下這行 libjpeg.dll: $(LIBOBJECTS) $(RM) libjpeg.dll link -dll -out:libjpeg.dll $(LIBOBJECTS) 在jmorecfg.h中添加#define _WIN32_#define JPEG_DLL 然後nmake /f makefile.vc nodebug=1就可以編譯了。
將makefile復制為一個.mak文件,然後用VC打開即可!
.mak 就是一個makefile
可以指定怎樣編譯(命令行,必須先設置VC命令行環境)
vcvars32.bat可設置環境,在vc98/bin下 nmake /f XXXX.mak
如果有一個makefile就只要nmake就可以了。

㈩ 編譯esal/c程序的makefile文件如何寫

你可以根據這樣的方法來編寫:
b074@gliethttp:~/work/gunzip$
cat
Makefile
CC
=
gcc-4.1
LD
=
gcc-4.1
CFLAGS
=
-Wall
-c
-Dgliethttp
-I.
LDFLAGS
=
-lpthread
SRCS
=
$(wildcard
*.c)
OBJS
=
$(patsubst
%c,%o,$(SRCS))
TARGET
=
gliethttp
.PHONY:
all
clean
all:
$(TARGET)
$(TARGET):
$(OBJS)
$(LD)
$(LDFLAGS)
-o
$@
$^
%o:
%c
$(CC)
$(CFLAGS)
-o
$@
$<
clean:
@rm
-f
*.o
$(TARGET)
編譯當前Makefile所在目錄下的所有.c文件
執行
make
make
clean

熱點內容
芒果tv緩存的視頻在哪個文件里 發布:2025-02-07 16:45:05 瀏覽:814
php郵件群發 發布:2025-02-07 16:45:05 瀏覽:612
mysql資料庫基本語句 發布:2025-02-07 16:41:48 瀏覽:250
醫院門禁密碼多少 發布:2025-02-07 16:41:43 瀏覽:527
伺服器遭美國ip攻擊簽名 發布:2025-02-07 16:22:48 瀏覽:546
如何配置二良腌料 發布:2025-02-07 16:11:54 瀏覽:735
資料庫課程設計學生管理系統 發布:2025-02-07 16:11:50 瀏覽:764
美國文化密碼是什麼 發布:2025-02-07 16:07:14 瀏覽:261
安卓手機下雪特效怎麼p 發布:2025-02-07 15:49:30 瀏覽:319
輪胎存儲銘牌 發布:2025-02-07 15:43:38 瀏覽:74