From aaf3af6f8375a951832b46464d858216f38e9890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=BB=E9=AD=82=E5=9C=A3=E4=BD=BF?= Date: Fri, 26 Apr 2024 21:09:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=A8=E5=B9=B3=E5=8F=B0=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/CMakeLists.txt | 10 ++++++++++ src/Transmit.cpp | 8 ++++---- src/Transmit.h | 11 +++++++++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b00a3c6..6498ec5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -20,5 +20,15 @@ add_library(Transmission Exception/PrepareDataException.h ) +if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + add_definitions(-DBUILD_LINUX=1) + message("以Linux为构建目标") +elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + add_definitions(-DBUILD_WINDOWS=1) + message("以Windows为构建目标") +else () + message(FATAL_ERROR "未知的目标操作系统") +endif () + target_include_directories(Transmission PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) target_link_libraries(Transmission protobuf proto lzma) \ No newline at end of file diff --git a/src/Transmit.cpp b/src/Transmit.cpp index 9e7d6af..581c2ac 100644 --- a/src/Transmit.cpp +++ b/src/Transmit.cpp @@ -133,9 +133,9 @@ namespace Transmission { } void Transmit::pushData(unsigned char *data, int32_t size) const { - ::send(this->fd, &size, sizeof(int32_t), 0); - ::send(this->fd, data, size, 0); - ::send(this->fd, &DATA_STOP, sizeof(DATA_STOP), 0); + ::send(this->fd, (const char *) &size, sizeof(int32_t), 0); + ::send(this->fd, (const char *) data, size, 0); + ::send(this->fd, (const char *) &DATA_STOP, sizeof(DATA_STOP), 0); } void Transmit::pushData(DataPackets &data) { @@ -174,7 +174,7 @@ namespace Transmission { buff.put(ptr.get(), 0, (int64_t) lastSize); break; } - if(ret != LZMA_OK) + if (ret != LZMA_OK) throw PrepareDataException("LZMA压缩失败"); lastSize = stream.total_out - lastSize; buff.put(ptr.get(), 0, (int64_t) lastSize); diff --git a/src/Transmit.h b/src/Transmit.h index 96522b1..e658500 100644 --- a/src/Transmit.h +++ b/src/Transmit.h @@ -8,7 +8,18 @@ #define TRANSMISSION_TRANSMIT_H #include + +#ifdef BUILD_LINUX + #include + +#endif +#ifdef BUILD_WINDOWS +#include +#include +#include +#endif + #include #include "CharBuff.h" #include "transmission.pb.h"