diff --git a/Client/CMakeLists.txt b/Client/CMakeLists.txt index 9695cef9..7b42c151 100644 --- a/Client/CMakeLists.txt +++ b/Client/CMakeLists.txt @@ -84,7 +84,10 @@ if (LINUX) endif () if (WIN32) - ADD_DEFINITIONS(-DUNICODE) + target_compile_definitions(SonyHeadphonesClient PRIVATE + UNICODE _UNICODE + NOMINMAX + WIN32_LEAN_AND_MEAN) target_sources(SonyHeadphonesClient PRIVATE windows/WindowsGUI.cpp @@ -94,8 +97,11 @@ if (WIN32) imgui/backends/imgui_impl_win32.cpp ) + # Non-MSVC toolchains have no #pragma comment(lib, ...), so name every import library here. target_link_libraries(SonyHeadphonesClient - PRIVATE d3d11 + PRIVATE d3d11 dxgi d3dcompiler + ws2_32 rpcrt4 bthprops + dwmapi # imgui_impl_win32.cpp ) endif () diff --git a/Client/windows/WindowsBluetoothConnector.h b/Client/windows/WindowsBluetoothConnector.h index 824b8e1d..d6f9b855 100644 --- a/Client/windows/WindowsBluetoothConnector.h +++ b/Client/windows/WindowsBluetoothConnector.h @@ -1,17 +1,25 @@ #pragma once -#include -#pragma comment(lib, "ws2_32.lib") -#pragma comment(lib, "rpcrt4.lib") -#pragma comment(lib, "Bthprops.lib") + +// winsock2.h must precede windows.h, which bluetoothapis.h pulls in. #include #include -#include -#include +// Lowercase: the MinGW-w64 headers are named this way, and so is the file on a +// case-sensitive filesystem (cross-compiling from Linux). +#include #include -#include "IBluetoothConnector.h" + +#include #include + +#include "IBluetoothConnector.h" #include "ByteMagic.h" -#include + +// Only MSVC understands these; every other toolchain gets the libraries from CMake. +#ifdef _MSC_VER +#pragma comment(lib, "ws2_32.lib") +#pragma comment(lib, "rpcrt4.lib") +#pragma comment(lib, "bthprops.lib") +#endif class WindowsBluetoothConnector final : public IBluetoothConnector { diff --git a/Client/windows/WindowsGUI.h b/Client/windows/WindowsGUI.h index b4be8e49..0a764eb4 100644 --- a/Client/windows/WindowsGUI.h +++ b/Client/windows/WindowsGUI.h @@ -18,7 +18,7 @@ #include -#include "Windows.h" +#include #include "CrossPlatformGUI.h" diff --git a/Client/windows/main.cpp b/Client/windows/main.cpp index fd248713..cd164c5a 100644 --- a/Client/windows/main.cpp +++ b/Client/windows/main.cpp @@ -1,4 +1,5 @@ #include +#include #include #include "WindowsBluetoothConnector.h" #include "CommandSerializer.h"