fix: Resolve compilation errors and build successfully

Build fixes:
- Add missing includes (<cstdint>, <iomanip>, <sstream>, <string>, <vector>)
- 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 <noreply@anthropic.com>
This commit is contained in:
StillHammer 2025-11-20 03:27:18 +08:00
parent 67b1587047
commit fa882fc2d6
7 changed files with 18 additions and 8 deletions

View File

@ -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

View File

@ -47,17 +47,16 @@ std::optional<WhisperResponse> 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) {

View File

@ -1,6 +1,7 @@
#include "AudioBuffer.h"
#include <fstream>
#include <cstring>
#include <cstdint>
#include <algorithm>
namespace secondvoice {

View File

@ -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<AudioCapture*>(user_data);
const float* in = static_cast<const float*>(input);

View File

@ -6,6 +6,8 @@
#include "../ui/TranslationUI.h"
#include "../utils/Config.h"
#include <iostream>
#include <iomanip>
#include <sstream>
#include <chrono>
#include <filesystem>

View File

@ -3,6 +3,8 @@
#include <memory>
#include <thread>
#include <atomic>
#include <string>
#include <vector>
#include "../utils/ThreadSafeQueue.h"
namespace secondvoice {

View File

@ -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;