• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            幾個好用的makefile 幾乎可以不用修改

            Makefile

            ?????? makefile 來編譯工程,對很多朋友來說都是一件麻煩而痛苦的事情,這里我寫了幾個 makefile ,專門提供給那些曾經被 makefile 困擾的朋友,根據生成的目標文件不同,我將 makefile 分成了三份:生成可執行文件的 makefile ,生成靜態鏈接庫德 makefile ,生成動態鏈接庫的 makefile 。

            ?????? 這些 makefile 都很簡單,一般都是一看就會用,用法也很容易,只需要把它們拷貝到你的代碼的同一目錄下,然后就可以使用 make 來生成目標文件了。

            ?????? 是不是真的有這么神奇?呵呵,你自己用用就知道了。

            ?????? 當然,如果要用到什么庫文件,你還需要修改一些編譯參數,這個可以對照我轉載的另一篇文章《 GNU make 指南》。

            ?????? 下面是三個 makefile 的源代碼:

            ?

            ?????? 1 、生成可執行文件的 makefile

            ######################################

            #

            # Generic makefile

            #

            # by Coon Xu

            # email: coonxu@126.com

            #

            # Copyright (c) 2005 Coon Xu

            # All rights reserved.

            #?

            # No warranty, no liability;

            # you use this at your own risk.

            #

            # You are free to modify and

            # distribute this without giving

            # credit to the original author.

            #

            ######################################

            ?

            ?

            #source file

            # 源文件,自動找所有 .c .cpp 文件,并將目標定義為同名 .o 文件

            SOURCE? := $(wildcard *.c) $(wildcard *.cpp)

            OBJS??? := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))

            ?

            #target you can change test to what you want

            # 目標文件名,輸入任意你想要的執行文件名

            TARGET? := test

            ?

            #compile and lib parameter

            # 編譯參數

            CC????? := gcc

            LIBS??? :=

            LDFLAGS:=?

            DEFINES:=

            INCLUDE:= -I.

            CFLAGS? := -g -Wall -O3 $(DEFINES) $(INCLUDE)

            CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H

            ?

            ?

            #i think you should do anything here

            # 下面的基本上不需要做任何改動了

            .PHONY : everything objs clean veryclean rebuild

            ?

            everything : $(TARGET)

            ?

            all : $(TARGET)

            ?

            objs : $(OBJS)

            ?

            rebuild: veryclean everything

            ???????????????

            clean :

            ??? rm -fr *.so

            ??? rm -fr *.o

            ???

            veryclean : clean

            ??? rm -fr $(TARGET)

            ?

            $(TARGET) : $(OBJS)?

            ??? $(CC) $(CXXFLAGS) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

            ?

            ?????? 2 、生成靜態鏈接庫的 makefile

            ######################################

            #

            # Generic Static Library makefile

            #

            # by Coon Xu

            # email: coonxu@126.com

            #

            # Copyright (c) 2005 Coon Xu

            # All rights reserved.

            #?

            # No warranty, no liability;

            # you use this at your own risk.

            #

            # You are free to modify and

            # distribute this without giving

            # credit to the original author.

            #

            ######################################

            ?

            #target you can change test to what you want

            # 共享庫文件名, lib*.a

            TARGET? := libtest.a

            ?

            #compile and lib parameter

            # 編譯參數

            CC????? := gcc

            AR????? = ar

            RANLIB? = ranlib

            LIBS??? :=

            LDFLAGS:=?

            DEFINES:=

            INCLUDE:= -I.

            CFLAGS? := -g -Wall -O3 $(DEFINES) $(INCLUDE)

            CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H

            ?

            #i think you should do anything here

            # 下面的基本上不需要做任何改動了

            ?

            #source file

            # 源文件,自動找所有 .c .cpp 文件,并將目標定義為同名 .o 文件

            SOURCE? := $(wildcard *.c) $(wildcard *.cpp)

            OBJS??? := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))

            ?

            .PHONY : everything objs clean veryclean rebuild

            ?

            everything : $(TARGET)

            ?

            all : $(TARGET)

            ?

            objs : $(OBJS)

            ?

            rebuild: veryclean everything

            ???????????????

            clean :

            ??? rm -fr *.o

            ???

            veryclean : clean

            ??? rm -fr $(TARGET)

            ?

            $(TARGET) : $(OBJS)?

            ??? $(AR) cru $(TARGET) $(OBJS)

            ??? $(RANLIB) $(TARGET)

            ?

            ?????? 3 、生成動態鏈接庫的 makefile

            ######################################

            #

            # Generic Share Library makefile

            #

            # by Coon Xu

            # email: coonxu@126.com

            #

            # Copyright (c) 2005 Coon Xu

            # All rights reserved.

            #?

            # No warranty, no liability;

            # you use this at your own risk.

            #

            # You are free to modify and

            # distribute this without giving

            # credit to the original author.

            #

            ######################################

            ?

            #target you can change test to what you want

            # 共享庫文件名, lib*.so

            TARGET? := libtest.so

            ?

            #compile and lib parameter

            # 編譯參數

            CC????? := gcc

            LIBS??? :=

            LDFLAGS:=?

            DEFINES:=

            INCLUDE:= -I.

            CFLAGS? := -g -Wall -O3 $(DEFINES) $(INCLUDE)

            CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H

            SHARE?? := -fPIC -shared -o

            ?

            #i think you should do anything here

            # 下面的基本上不需要做任何改動了

            ?

            #source file

            # 源文件,自動找所有 .c .cpp 文件,并將目標定義為同名 .o 文件

            SOURCE? := $(wildcard *.c) $(wildcard *.cpp)

            OBJS??? := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE)))

            ?

            .PHONY : everything objs clean veryclean rebuild

            ?

            everything : $(TARGET)

            ?

            all : $(TARGET)

            ?

            objs : $(OBJS)

            ?

            rebuild: veryclean everything

            ???????????????

            clean :

            ??? rm -fr *.o

            ???

            veryclean : clean

            ??? rm -fr $(TARGET)

            ?

            $(TARGET) : $(OBJS)?

            ??? $(CC) $(CXXFLAGS) $(SHARE) $@ $(OBJS) $(LDFLAGS) $(LIBS)

            posted on 2007-02-08 15:34 楊粼波 閱讀(831) 評論(0)  編輯 收藏 引用

            久久不见久久见免费影院www日本| 久久99精品久久久久久久不卡 | 精品久久久久久中文字幕大豆网| 久久婷婷五月综合97色直播| 2021最新久久久视精品爱| A级毛片无码久久精品免费| 国产精品一久久香蕉国产线看| 久久国产精品视频| 无码人妻少妇久久中文字幕蜜桃| 日本福利片国产午夜久久| 狠狠色丁香久久婷婷综合_中| 国产人久久人人人人爽| 怡红院日本一道日本久久 | 久久久久亚洲AV成人网人人网站 | 久久精品中文字幕久久| 国产精品99久久久精品无码| 久久久久久狠狠丁香| 无码AV波多野结衣久久| 一本综合久久国产二区| 精品久久人人爽天天玩人人妻| avtt天堂网久久精品| 亚洲人成精品久久久久| 无码任你躁久久久久久| 国内精品久久久久久麻豆| 久久精品国产久精国产| 2022年国产精品久久久久| 久久天天躁狠狠躁夜夜网站| 精品久久久久久久久免费影院| 久久国产视频网| 久久er国产精品免费观看8| 久久线看观看精品香蕉国产| 精品久久久久久成人AV| 蜜臀久久99精品久久久久久小说 | 国产一区二区精品久久凹凸| 精品一区二区久久| 久久免费视频观看| 久久精品www| 久久精品国产精品亚洲| 久久夜色精品国产| 无码国内精品久久综合88| 久久久久久伊人高潮影院|