From fa882fc2d64b96933650abab9693914d2e51ffe3 Mon Sep 17 00:00:00 2001 From: StillHammer Date: Thu, 20 Nov 2025 03:27:18 +0800 Subject: [PATCH] fix: Resolve compilation errors and build successfully MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Build fixes: - Add missing includes (, , , , ) - Fix unused parameter warnings with (void) casts - Fix cpp-httplib API: Use UploadFormDataItems instead of MultipartFormDataItems - Fix portaudio linking: Use portaudio_static target instead of portaudio All modules now compile without errors. Executable built successfully (13MB). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CMakeLists.txt | 2 +- src/api/WhisperClient.cpp | 13 ++++++------- src/audio/AudioBuffer.cpp | 1 + src/audio/AudioCapture.cpp | 4 ++++ src/core/Pipeline.cpp | 2 ++ src/core/Pipeline.h | 2 ++ src/main.cpp | 2 ++ 7 files changed, 18 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 966f7ac..84336d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,7 +40,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE # Link libraries target_link_libraries(${PROJECT_NAME} PRIVATE - portaudio + portaudio_static httplib::httplib nlohmann_json::nlohmann_json imgui::imgui diff --git a/src/api/WhisperClient.cpp b/src/api/WhisperClient.cpp index 8cac3f3..40d71bf 100644 --- a/src/api/WhisperClient.cpp +++ b/src/api/WhisperClient.cpp @@ -47,17 +47,16 @@ std::optional WhisperClient::transcribe( httplib::Client client("https://api.openai.com"); client.set_read_timeout(30, 0); // 30 seconds timeout - httplib::MultipartFormDataItems items = { - {"file", wav_data, "audio.wav", "audio/wav"}, - {"model", "whisper-1", "", ""}, - {"language", language, "", ""}, - {"temperature", std::to_string(temperature), "", ""} - }; - httplib::Headers headers = { {"Authorization", "Bearer " + api_key_} }; + httplib::UploadFormDataItems items; + items.push_back({"file", wav_data, "audio.wav", "audio/wav"}); + items.push_back({"model", "whisper-1", "", ""}); + items.push_back({"language", language, "", ""}); + items.push_back({"temperature", std::to_string(temperature), "", ""}); + auto res = client.Post("/v1/audio/transcriptions", headers, items); if (!res) { diff --git a/src/audio/AudioBuffer.cpp b/src/audio/AudioBuffer.cpp index 9e8f5d2..0c794c5 100644 --- a/src/audio/AudioBuffer.cpp +++ b/src/audio/AudioBuffer.cpp @@ -1,6 +1,7 @@ #include "AudioBuffer.h" #include #include +#include #include namespace secondvoice { diff --git a/src/audio/AudioCapture.cpp b/src/audio/AudioCapture.cpp index e8bd095..b398c11 100644 --- a/src/audio/AudioCapture.cpp +++ b/src/audio/AudioCapture.cpp @@ -31,6 +31,10 @@ int AudioCapture::audioCallback(const void* input, void* output, const PaStreamCallbackTimeInfo* time_info, PaStreamCallbackFlags status_flags, void* user_data) { + (void)output; // Unused + (void)time_info; // Unused + (void)status_flags; // Unused + AudioCapture* self = static_cast(user_data); const float* in = static_cast(input); diff --git a/src/core/Pipeline.cpp b/src/core/Pipeline.cpp index 7c0c51a..a499b9e 100644 --- a/src/core/Pipeline.cpp +++ b/src/core/Pipeline.cpp @@ -6,6 +6,8 @@ #include "../ui/TranslationUI.h" #include "../utils/Config.h" #include +#include +#include #include #include diff --git a/src/core/Pipeline.h b/src/core/Pipeline.h index 5fe5104..155d56f 100644 --- a/src/core/Pipeline.h +++ b/src/core/Pipeline.h @@ -3,6 +3,8 @@ #include #include #include +#include +#include #include "../utils/ThreadSafeQueue.h" namespace secondvoice { diff --git a/src/main.cpp b/src/main.cpp index 9a19f4a..37d66da 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,6 +3,8 @@ #include "core/Pipeline.h" int main(int argc, char** argv) { + (void)argc; // Unused + (void)argv; // Unused std::cout << "SecondVoice - Real-time Translation System" << std::endl; std::cout << "===========================================" << std::endl;