diff --git a/cross-compile/freedv-mingw-llvm-aarch64.cmake b/cross-compile/freedv-mingw-llvm-aarch64.cmake index cc9d603e..763b10a0 100644 --- a/cross-compile/freedv-mingw-llvm-aarch64.cmake +++ b/cross-compile/freedv-mingw-llvm-aarch64.cmake @@ -13,7 +13,7 @@ set(CMAKE_RC_COMPILER ${triple}-windres) set(CMAKE_C_FLAGS -gcodeview) set(CMAKE_CXX_FLAGS -gcodeview) -set(CMAKE_EXE_LINKER_FLAGS -Wl,--pdb=) +set(CMAKE_EXE_LINKER_FLAGS -Wno-unused-command-line-argument -Wl,--pdb=) # For make package use. set(CMAKE_OBJDUMP ${triple}-objdump) diff --git a/cross-compile/freedv-mingw-llvm-armv7.cmake b/cross-compile/freedv-mingw-llvm-armv7.cmake index 8445e23c..cb8155ac 100644 --- a/cross-compile/freedv-mingw-llvm-armv7.cmake +++ b/cross-compile/freedv-mingw-llvm-armv7.cmake @@ -14,7 +14,7 @@ set(CMAKE_RC_COMPILER ${triple}-windres) set(CMAKE_C_FLAGS -gcodeview) set(CMAKE_CXX_FLAGS -gcodeview) -set(CMAKE_EXE_LINKER_FLAGS -Wl,--pdb=) +set(CMAKE_EXE_LINKER_FLAGS -Wno-unused-command-line-argument -Wl,--pdb=) # For make package use. set(CMAKE_OBJDUMP ${triple}-objdump) diff --git a/cross-compile/freedv-mingw-llvm-i686.cmake b/cross-compile/freedv-mingw-llvm-i686.cmake index 2322b531..12bc86ee 100644 --- a/cross-compile/freedv-mingw-llvm-i686.cmake +++ b/cross-compile/freedv-mingw-llvm-i686.cmake @@ -14,7 +14,7 @@ set(CMAKE_RC_COMPILER ${triple}-windres) set(CMAKE_C_FLAGS -gcodeview) set(CMAKE_CXX_FLAGS -gcodeview) -set(CMAKE_EXE_LINKER_FLAGS -Wl,--pdb=) +set(CMAKE_EXE_LINKER_FLAGS -Wno-unused-command-line-argument -Wl,--pdb=) # For make package use. set(CMAKE_OBJDUMP ${triple}-objdump) diff --git a/cross-compile/freedv-mingw-llvm-x86_64.cmake b/cross-compile/freedv-mingw-llvm-x86_64.cmake index 4e1972a4..87cd46ee 100644 --- a/cross-compile/freedv-mingw-llvm-x86_64.cmake +++ b/cross-compile/freedv-mingw-llvm-x86_64.cmake @@ -14,7 +14,7 @@ set(CMAKE_RC_COMPILER ${triple}-windres) set(CMAKE_C_FLAGS -gcodeview) set(CMAKE_CXX_FLAGS -gcodeview) -set(CMAKE_EXE_LINKER_FLAGS -Wl,--pdb=) +set(CMAKE_EXE_LINKER_FLAGS -Wno-unused-command-line-argument -Wl,--pdb=) # For make package use. set(CMAKE_OBJDUMP ${triple}-objdump) diff --git a/src/serialport.cpp b/src/serialport.cpp index 3d04295a..8f2e418a 100644 --- a/src/serialport.cpp +++ b/src/serialport.cpp @@ -127,7 +127,27 @@ bool Serialport::openport(const char name[], bool useRTS, bool RTSPos, bool useD return true; error: - if (g_verbose) fprintf(stderr, "%s failed\n", lpszFunction); + if (g_verbose) + { +#ifdef UNICODE + std::vector buffer; + std::string errFn = "[Unknown Function]" + int size = WideCharToMultiByte(CP_UTF8, 0, text, -1, NULL, 0, NULL, NULL); + if (size > 0) + { + buffer.resize(size); + WideCharToMultiByte(CP_UTF8, 0, text, -1, static_cast(&buffer[0]), buffer.size(), NULL, NULL); + errFn = std::string(&buffer[0]); + } + else + { + // Error handling, probably shouldn't reach here + } + fprintf(stderr, "%s failed\n", errFn.c_str()); +#else + fprintf(stderr, "%s failed\n", lpszFunction); +#endif // UNICODE + } // Retrieve the system error message for the last-error code