国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
1:編譯可執(zhí)行程序。2:編譯lib庫 3:編譯so庫

在linux下面,我們不得不自己寫makefile,makefile的確博大精深,但是實際上對于日常的使用來說,無非就是
1:編譯可執(zhí)行程序。2:編譯lib庫 3:編譯so庫
本博針對上面三種目的各自寫出了makefile模版,希望對大家有所幫助。
一.編譯可執(zhí)行程序
當前目錄下制定文件編譯成可執(zhí)行文件(連接外部庫的話只需要更改INC和LIB即可)

CXX = g++
TARGET = bitmaploctest
C_FLAGS += -g -Wall
LIB_FLAGS = -pthread
all: $(TARGET)
bitmaploctest: bitmaploctest.o bitmaploc.o file_lock.o
    $(CXX) -o $@ $^ $(LIB_FLAGS) $(LIB) $(C_FLAGS)
.cpp.o:
    $(CXX) -c -o $*.o $(INC) $(C_FLAGS) $*.cpp
.cc.o:
    $(CXX) -c -o $*.o $(INC) $(C_FLAGS) $*.cc
clean:
    -rm -f *.o $(TARGET)

二.編譯成lib庫
當前目錄下指定文件編譯成lib庫(一般lib庫在編譯的時候不會將使用的外部庫編譯進來,而是等編譯成可執(zhí)行程序時或者.so時)

INC_DIR= ./
SRC_DIR= ./
OBJ_DIR= ./
LIB_DIR= ./
H_DIR= ./
OBJ_EXT= .o
CXXSRC_EXT= .cpp
CSRC_EXT= .c
LIB_EXT= .a
H_EXT= .h
OBJECTS = $(OBJ_DIR)bitmaploc$(OBJ_EXT) \
          $(OBJ_DIR)file_lock$(OBJ_EXT)
LIB_TARGET = $(LIB_DIR)libbitmaploc$(LIB_EXT)
$(OBJ_DIR)%$(OBJ_EXT): $(SRC_DIR)%$(CXXSRC_EXT)
    @echo
    @echo “Compiling $< ==> $@…”
    $(CXX) $(INC) $(C_FLAGS) -c $< -o $@
    $(OBJ_DIR)%$(OBJ_EXT): $(SRC_DIR)%$(CSRC_EXT)
    @echo
    @echo “Compiling $< ==> $@…”
    $(CC) -I./ $(INC) $(C_FLAGS) -c $< -o $@
    all:$(LIB_TARGET)
    $(LIB_TARGET): $(OBJECTS)
    all: $(OBJECTS)
    @echo
    $(AR) rc $(LIB_TARGET) $(OBJECTS)
    @echo “ok”
clean:
    rm -f $(LIB_TARGET) $(OBJECTS)

三.編譯成so庫
當前目錄下指定文件編譯成so庫(必須將所有引用的外部庫都編譯進來)

CC = gcc
CXX = g++
CFLAGS  = -Wall -pipe -DDEBUG -D_NEW_LIC -g -D_GNU_SOURCE -shared -D_REENTRANT
LIB     = -lconfig -ldl -lrt -L../../lib -lttc -g
INCLUDE = -I../spp_inc
OO    = service.o tinystr.o tinyxml.o tinyxmlerror.o tinyxmlparser.o uin_conf.o stat.o
TARGETS = ../../lib/libRanch.so
all: $(TARGETS)
    stat:tool_stat.cpp
    $(CXX) $(INCLUDE) tool_stat.cpp -o tool_stat stat.o tinystr.o tinyxml.o tinyxmlerror.o tinyxmlparser.o -g
    cp tool_stat ../../bin
    $(TARGETS): $(OO)
    $(CXX) $(CFLAGS) $(INCLUDE) $(OO) -o $@ $(LIBDIR) $(LIB)
.c.o:
    $(CC)  $(CFLAGS) -c $(INCLUDE) $<
    echo $@
.cpp.o:
    $(CXX) $(CFLAGS) -c $(INCLUDE) $<
    echo $@
    %:%.c
    $(CC) $(CFLAGS) -o $@ $< $(OO) $(LDFLAGS)
    echo $@
clean:
    rm -f *.o
    rm -f $(TARGETS)
    rm -f tool_stat

OK,我常用的makefile也就這三種格式,希望對大家有用。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
編譯pro*c 的makefile例子
編譯FFmpeg+x264移植到安卓(一)
內(nèi)核映像的形成 —— KBuild體系(一)
KBuild MakeFile介紹
終于把webkit(基于gtk)移植到arm上
Makefile 實際用例分析(二)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服