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",
|
||||
"cinttypes": "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)
|
||||
|
||||
if (MSVC)
|
||||
add_definitions(-D_WIN32_WINNT=0x0601)
|
||||
add_compile_options(/source-charset:utf-8)
|
||||
endif()
|
||||
|
||||
|
@ -1,12 +1,18 @@
|
||||
#include "client.h"
|
||||
#include <filesystem>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <of_path.h>
|
||||
#include <of_str.h>
|
||||
#include <of_util.h>
|
||||
|
||||
#ifdef USE_BOOST_FILESYSTEM
|
||||
#include <boost/filesystem.hpp>
|
||||
namespace fs = boost::filesystem;
|
||||
#else
|
||||
#include <filesystem>
|
||||
namespace fs = std::filesystem;
|
||||
#endif
|
||||
|
||||
CClient::CClient(const std::shared_ptr<spdlog::logger>& logger) : logger_(logger)
|
||||
{
|
||||
client_ = std::make_shared<CTcpClient>(io_context_, logger_);
|
||||
|
@ -1,12 +1,18 @@
|
||||
#include "client.h"
|
||||
#include "version.h"
|
||||
#include <SimpleIni.h>
|
||||
#include <filesystem>
|
||||
#include <iostream>
|
||||
#include <of_path.h>
|
||||
|
||||
using namespace ofen;
|
||||
|
||||
#ifdef USE_BOOST_FILESYSTEM
|
||||
#include <boost/filesystem.hpp>
|
||||
namespace fs = boost::filesystem;
|
||||
#else
|
||||
#include <filesystem>
|
||||
namespace fs = std::filesystem;
|
||||
#endif
|
||||
|
||||
struct TransmSet {
|
||||
std::string ip{};
|
||||
|
@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 3.16)
|
||||
project(trans_net LANGUAGES CXX)
|
||||
|
||||
if (MSVC)
|
||||
add_definitions(-D_WIN32_WINNT=0x0601)
|
||||
add_compile_options(/source-charset:utf-8)
|
||||
endif()
|
||||
|
||||
|
2
ofen
2
ofen
@ -1 +1 @@
|
||||
Subproject commit 1e83e393eb2ee59d05690a7c39bf807c994560b2
|
||||
Subproject commit 8b2905dadc30a1a7351953b7130f83cff39b69b1
|
Loading…
x
Reference in New Issue
Block a user