bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Linux/C++項目結構與編譯-創新互聯

項目結構與說明
zcm@vm:~/Documents/makefile/project$ ll
total 40
drwxrwxr-x 9 zcm zcm 4096 11月 29 18:53 ./
drwxrwxr-x 3 zcm zcm 4096 11月 29 16:59 ../
drwxrwxr-x 2 zcm zcm 4096 11月 30 20:34 build/
drwxrwxr-x 2 zcm zcm 4096 11月 29 17:03 doc/
drwxrwxr-x 4 zcm zcm 4096 11月 30 20:31 include/
-rw-rw-r-- 1 zcm zcm  208 11月 30 20:21 Makefile
drwxrwxr-x 2 zcm zcm 4096 11月 29 17:01 res/
drwxrwxr-x 6 zcm zcm 4096 11月 30 20:34 sim_muduo_lib/
drwxrwxr-x 4 zcm zcm 4096 11月 29 19:04 src/
drwxrwxr-x 2 zcm zcm 4096 11月 29 17:02 tools/
zcm@vm:~/Documents/makefile/project$ tree
.
├── build						# build 可運行目標文件產出目錄
│   ├── EchoClient
│   └── EchoServer
├── doc							# doc 項目記錄或其他文件目錄
├── include						# include 項目頭文件目錄,可分為module1 module2...
│   ├── Client_include
│   │   └── EchoClient.h
│   └── Server_include
│       └── EchoServer.h
├── res							# 資源文件目錄
├── sim_muduo_lib				# 項目依賴庫目錄
│   ├── lib						# 庫(靜態庫)發布目錄,包括庫文件與頭文件
│   │   ├── Atomic.h
│   │   ├── Buffer.h
│   │   ├── ConnectSocket.h
│   │   ├── InetAddress.h
│   │   ├── libsim_muduo.a
│   │   ├── LinkOwner.h
│   │   ├── ...
│   │   └── Timestamp.h
│   ├── obj						# 庫(靜態庫)產出目錄,產出中間文件
│   │   ├── Buffer
│   │   ├── ConnectSocket.o
│   │   ├── EpollAdpt.o
│   │   ├── InetAddress.o
│   │   ├── libsim_muduo.a
│   │   ├── ListenSocket.o
│   │   └── Logging.o
│   ├── prih					# 頭文件目錄
│   │   ├── Atomic.h
│   │   ├── ConnectSocket.h
│   │   ├── ...
│   │   └── Poller.h
│   ├── pubh					# 頭文件目錄
│   │   ├── Buffer.h
│   │   ├── EventLoop.h
│   │   ├── ...
│   │   └── Timestamp.h
│   ├── Buffer.cpp				# # # # # #
│   ├── ConnectSocket.cpp
│   ├── EpollAdpt.cpp			
│   ├── EventLoop.cpp          # 源文件
│   ├── ListenSocket.cpp
│   ├── Logging.cpp
│   ├── ...						# # # # # #
│   └── makefile			   # 庫 Makefile
├── src						   # 項目源文件目錄,可分為module1 module2...
│   ├── Client_src
│   │   ├── EchoClient.cpp
│   │   ├── EchoClient_main.cpp
│   │   └── Makefile			# module1 Makefile
│   └── Server_src
│       ├── EchoServer.cpp
│       ├── EchoServer_main.cpp
│       └── Makefile		    # module2 Makefile
├── tool					    # 工具文件目錄  
└── Makefile				    # 項目總體Makefile
編譯(Makefile)說明 makefile中符號說明
# $@ 表示目標文件
# $^ 表示所有的依賴文件
# $< 表示第一個依賴文件
# $? 表示比目標還要新的依賴文件列表
# $(wildcard pubh/*.h prih/*h)   明確表明通配符
# $(patsubst %.cpp,%.o,$(LIB_SRC)) 替換 %.cpp to %.o
# $(addprefix $(OBJ_DIR)/, $(OBJS)) 加前綴
# INC_DIR   = -I$(BASE_DIR)/include/Server_include -I$(BASE_DIR)/sim_muduo_lib/lib    找頭文件的地址 "-I"
# CLIBS     = -L$(LIB_DIR) -lsim_muduo -pthread    找依賴庫的地址"-L"
項目總體Makefile
# 進入目錄,編譯,(產出)
# clean

all: 
	cd sim_muduo_lib && make && make output
	cd src/Server_src && make				
	cd src/Client_src && make

clean:
	cd sim_muduo_lib && make clean
	cd src/Server_src && make clean
	cd src/Client_src && make clean
依賴庫Makefile
.SUFFIXES: .sh .h .c .cc .cpp

# # # # # # 編譯靜態庫命令,編譯產出命令 # # # # # #
AR        = ar
AR_FLAGS  = crs

CXX       = g++
CXXFLAGS  = -std=c++11 -ggdb3 -Wall -DDEBUG 

# # # # # # 準備地址變量 # # # # # #
# -Ipubh -I the path of *.h
INC_DIR   = -Ipubh -Iprih
OBJ_DIR   = obj
OUT_DIR   = lib

# # # # # # 準備 *.h *.cpp *.o  *.a 變量 # # # # # #
INCLUDE=$(wildcard pubh/*.h prih/*h)
LIB_SRC=$(wildcard *.cpp)
OBJS=$(patsubst %.cpp,%.o,$(LIB_SRC))  
MUDUOLIB  = $(OBJ_DIR)/libsim_muduo.a

# # # # # #  make  # # # # # #
all: obj_dir objs muduolib
obj_dir objs muduolib: $(OBJ_DIR) $(OBJS) $(MUDUOLIB)
# 鏈接 由*.o ->MUDUOLIB
$(MUDUOLIB):$(addprefix $(OBJ_DIR)/, $(OBJS)) 
	$(AR) $(AR_FLAGS) $@ $^
# 編譯 由*.cpp ->*.o     one by one
$(OBJS):%.o:%.cpp
	$(CXX) -c $(CXXFLAGS) $(INC_DIR) $< -o $(OBJ_DIR)/$@
# 生成OBJ_DIR	
$(OBJ_DIR):
	@-mkdir -p $(OBJ_DIR)
	
# # # # # #  make output  # # # # # #
.PHONY:output
output:
	@-mkdir -p $(OUT_DIR)
	cp $(MUDUOLIB) $(OUT_DIR)
	cp $(INCLUDE) $(OUT_DIR)
	
# # # # # #  make clean  # # # # # #
.PHONY:clean
clean:
	@-rm -rf  $(OBJ_DIR)
	@-rm -rf  $(OUT_DIR)
modules Makefile
.SUFFIXES: .sh .h .c .cc .cpp
# # # # # # 編譯靜態庫命令,編譯產出命令 # # # # # #
AR        = ar
AR_FLAGS  = crs

CXX       = g++
CXXFLAGS  = -std=c++11 -ggdb3 -Wall -Werror

# # # # # # 準備變量 # # # # # #
# base地址
BASE_DIR  = ../..
# 產出地址
BUILD_DIR = $(BASE_DIR)/build
# 頭文件地址
INC_DIR   = -I$(BASE_DIR)/include/Server_include -I$(BASE_DIR)/sim_muduo_lib/lib
# 依賴庫地址
LIB_DIR   = $(BASE_DIR)/sim_muduo_lib/lib
# 依賴庫地址與名稱
CLIBS     = -L$(LIB_DIR) -lsim_muduo -pthread 
# 產出
BIN       = $(BUILD_DIR)/EchoServer
# *.cpp
SERVER_SRCS = $(wildcard *.cpp)

# # # # # # make # # # # # #
all:  bin 
bin :$(BIN)

$(BIN):$(SERVER_SRCS)
	$(CXX) $(CXXFLAGS) $(INC_DIR) -o $@ $^ $(CLIBS)

# # # # # # make clean # # # # # #
clean:
	@-rm -rf $(BIN)

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

創新互聯建站自2013年起,是專業互聯網技術服務公司,擁有項目成都網站設計、網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元澤州做網站,已為上家服務,為澤州各地企業和個人服務,聯系電話:18982081108

新聞標題:Linux/C++項目結構與編譯-創新互聯
網站鏈接:http://vcdvsql.cn/article44/cdeohe.html

成都網站建設公司_創新互聯,為您提供外貿網站建設做網站企業建站App開發軟件開發電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設