fea:添加支持自定义使用boost::filesystem开关。
This commit is contained in:
		
							parent
							
								
									7519765018
								
							
						
					
					
						commit
						4d4631bec5
					
				
							
								
								
									
										3
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							@ -132,5 +132,6 @@
 | 
				
			|||||||
        "random": "cpp",
 | 
					        "random": "cpp",
 | 
				
			||||||
        "cinttypes": "cpp",
 | 
					        "cinttypes": "cpp",
 | 
				
			||||||
        "regex": "cpp"
 | 
					        "regex": "cpp"
 | 
				
			||||||
    }
 | 
					    },
 | 
				
			||||||
 | 
					    "makefile.configureOnOpen": false
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										74
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					# 编译器和标志
 | 
				
			||||||
 | 
					CXX = g++
 | 
				
			||||||
 | 
					CXXFLAGS = -Wall -std=c++17 -I./ -I./3rd -I./net -I./ofen/include -I./util # 添加 3rd 目录的头文件路径
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 目录
 | 
				
			||||||
 | 
					SRCDIR = src
 | 
				
			||||||
 | 
					OBJDIR = obj
 | 
				
			||||||
 | 
					BINDIR = bin
 | 
				
			||||||
 | 
					LIBDIR = lib
 | 
				
			||||||
 | 
					THIRDDIR = 3rd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 库路径和库文件
 | 
				
			||||||
 | 
					LIB_PATHS = -L$(LIBDIR) -L$(THIRDDIR)/lib  # 假设 3rd 下有一些库文件
 | 
				
			||||||
 | 
					LIBS = -lws2_32 -lwsock32
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 源文件
 | 
				
			||||||
 | 
					UTIL_SRC = $(wildcard util/*.cpp)
 | 
				
			||||||
 | 
					NET_SRC = $(wildcard net/*.cpp)
 | 
				
			||||||
 | 
					OFEN_SRC = $(wildcard ofen/src/*.cpp)
 | 
				
			||||||
 | 
					CLIENT_SRC = $(wildcard client/*.cpp)
 | 
				
			||||||
 | 
					SERVER_SRC = $(wildcard server/*.cpp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 对应的目标文件
 | 
				
			||||||
 | 
					UTIL_OBJ = $(UTIL_SRC:%.cpp=$(OBJDIR)/%.o)
 | 
				
			||||||
 | 
					NET_OBJ = $(NET_SRC:%.cpp=$(OBJDIR)/%.o)
 | 
				
			||||||
 | 
					OFEN_OBJ = $(OFEN_SRC:%.cpp=$(OBJDIR)/%.o)
 | 
				
			||||||
 | 
					CLIENT_OBJ = $(CLIENT_SRC:%.cpp=$(OBJDIR)/%.o)
 | 
				
			||||||
 | 
					SERVER_OBJ = $(SERVER_SRC:%.cpp=$(OBJDIR)/%.o)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 库文件
 | 
				
			||||||
 | 
					UTIL_LIB = $(LIBDIR)/libutil.a
 | 
				
			||||||
 | 
					NET_LIB = $(LIBDIR)/libnet.a
 | 
				
			||||||
 | 
					OFEN_LIB = $(LIBDIR)/libofen.a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 可执行文件
 | 
				
			||||||
 | 
					CLIENT_BIN = $(BINDIR)/client
 | 
				
			||||||
 | 
					SERVER_BIN = $(BINDIR)/server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 生成的目标文件夹
 | 
				
			||||||
 | 
					$(shell mkdir -p $(OBJDIR) $(BINDIR) $(LIBDIR))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 默认目标:编译所有目标
 | 
				
			||||||
 | 
					all: $(CLIENT_BIN) $(SERVER_BIN)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 生成 util 库
 | 
				
			||||||
 | 
					$(UTIL_LIB): $(UTIL_OBJ)
 | 
				
			||||||
 | 
						ar rcs $@ $^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 生成 net 库
 | 
				
			||||||
 | 
					$(NET_LIB): $(NET_OBJ)
 | 
				
			||||||
 | 
						ar rcs $@ $^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 生成 ofen 库
 | 
				
			||||||
 | 
					$(OFEN_LIB): $(OFEN_OBJ)
 | 
				
			||||||
 | 
						ar rcs $@ $^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 生成 client 可执行文件
 | 
				
			||||||
 | 
					$(CLIENT_BIN): $(CLIENT_OBJ) $(UTIL_LIB) $(NET_LIB) $(OFEN_LIB)
 | 
				
			||||||
 | 
						$(CXX) -o $@ $^ $(CXXFLAGS) $(LIB_PATHS) $(LIBS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 生成 server 可执行文件
 | 
				
			||||||
 | 
					$(SERVER_BIN): $(SERVER_OBJ) $(UTIL_LIB) $(NET_LIB) $(OFEN_LIB)
 | 
				
			||||||
 | 
						$(CXX) -o $@ $^ $(CXXFLAGS) $(LIB_PATHS) $(LIBS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 编译 .cpp 文件为 .o 文件
 | 
				
			||||||
 | 
					$(OBJDIR)/%.o: %.cpp
 | 
				
			||||||
 | 
						$(CXX) -c -o $@ $< $(CXXFLAGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 清理生成的文件
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
						rm -rf $(OBJDIR) $(BINDIR) $(LIBDIR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 只编译可执行文件
 | 
				
			||||||
 | 
					.PHONY: all clean
 | 
				
			||||||
@ -4,7 +4,6 @@ project(transmc LANGUAGES CXX)
 | 
				
			|||||||
set(CMAKE_CXX_STANDARD 17)
 | 
					set(CMAKE_CXX_STANDARD 17)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (MSVC)
 | 
					if (MSVC)
 | 
				
			||||||
    add_definitions(-D_WIN32_WINNT=0x0601)
 | 
					 | 
				
			||||||
    add_compile_options(/source-charset:utf-8)
 | 
					    add_compile_options(/source-charset:utf-8)
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,12 +1,18 @@
 | 
				
			|||||||
#include "client.h"
 | 
					#include "client.h"
 | 
				
			||||||
#include <filesystem>
 | 
					 | 
				
			||||||
#include <fstream>
 | 
					#include <fstream>
 | 
				
			||||||
#include <iostream>
 | 
					#include <iostream>
 | 
				
			||||||
#include <of_path.h>
 | 
					#include <of_path.h>
 | 
				
			||||||
#include <of_str.h>
 | 
					#include <of_str.h>
 | 
				
			||||||
#include <of_util.h>
 | 
					#include <of_util.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef USE_BOOST_FILESYSTEM
 | 
				
			||||||
 | 
					#include <boost/filesystem.hpp>
 | 
				
			||||||
 | 
					namespace fs = boost::filesystem;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#include <filesystem>
 | 
				
			||||||
namespace fs = std::filesystem;
 | 
					namespace fs = std::filesystem;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CClient::CClient(const std::shared_ptr<spdlog::logger>& logger) : logger_(logger)
 | 
					CClient::CClient(const std::shared_ptr<spdlog::logger>& logger) : logger_(logger)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    client_ = std::make_shared<CTcpClient>(io_context_, logger_);
 | 
					    client_ = std::make_shared<CTcpClient>(io_context_, logger_);
 | 
				
			||||||
 | 
				
			|||||||
@ -1,12 +1,18 @@
 | 
				
			|||||||
#include "client.h"
 | 
					#include "client.h"
 | 
				
			||||||
#include "version.h"
 | 
					#include "version.h"
 | 
				
			||||||
#include <SimpleIni.h>
 | 
					#include <SimpleIni.h>
 | 
				
			||||||
#include <filesystem>
 | 
					 | 
				
			||||||
#include <iostream>
 | 
					#include <iostream>
 | 
				
			||||||
#include <of_path.h>
 | 
					#include <of_path.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
using namespace ofen;
 | 
					using namespace ofen;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef USE_BOOST_FILESYSTEM
 | 
				
			||||||
 | 
					#include <boost/filesystem.hpp>
 | 
				
			||||||
 | 
					namespace fs = boost::filesystem;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#include <filesystem>
 | 
				
			||||||
namespace fs = std::filesystem;
 | 
					namespace fs = std::filesystem;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct TransmSet {
 | 
					struct TransmSet {
 | 
				
			||||||
    std::string ip{};
 | 
					    std::string ip{};
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 3.16)
 | 
				
			|||||||
project(trans_net LANGUAGES CXX)
 | 
					project(trans_net LANGUAGES CXX)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (MSVC)
 | 
					if (MSVC)
 | 
				
			||||||
    add_definitions(-D_WIN32_WINNT=0x0601)
 | 
					 | 
				
			||||||
    add_compile_options(/source-charset:utf-8)
 | 
					    add_compile_options(/source-charset:utf-8)
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								ofen
									
									
									
									
									
								
							
							
								
								
								
								
								
								
									
									
								
							
						
						
									
										2
									
								
								ofen
									
									
									
									
									
								
							@ -1 +1 @@
 | 
				
			|||||||
Subproject commit 1e83e393eb2ee59d05690a7c39bf807c994560b2
 | 
					Subproject commit 8b2905dadc30a1a7351953b7130f83cff39b69b1
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user