Довольно простая задача. Есть рабочий код для блютус сокетов.
Имею:
QtCreator 4.7.0, mingw, Windows Platform SDK 2003, - WindowsXP
Код для Bluetooth API начинаестя примерно так:
#include <bthsdpdef.h>
#include <BluetoothAPIs.h>
#include <winsock2.h>
#include <ws2bth.h>
void foo( )
{
WORD wVersionRequested = 0x202;
WSADATA m_data;
if (0 == ::WSAStartup(wVersionRequested, &m_data))
{
SOCKET s = ::socket(AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM);
const DWORD lastError = ::GetLastError();
if (s == INVALID_SOCKET)
{
....
и так далее по тексту из книжки..
В pro файле прописываю:
INCLUDEPATH += "C:\\Program Files\\Microsoft Platform SDK\\Include"
Ошибка компиляции:
..\..\Program Files\Microsoft Platform SDK\Include/winnt.h:666:2: error: #error Must define a target architecture.
..\..\Program Files\Microsoft Platform SDK\Include/bthsdpdef.h:16: error: 'ULONGLONG' does not name a type
..\..\Program Files\Microsoft Platform SDK\Include/bthsdpdef.h:29: error: 'USHORT' does not name a type
... и еще 500 тыс.подобных..
Дописываю в pro файл под-папку хидеров:
INCLUDEPATH += "C:\\Program Files\\Microsoft Platform SDK\\Include" "C:\\Program Files\\Microsoft Platform SDK\\Include\\crt"
Другая ошибка:
..\..\Program Files\Microsoft Platform SDK\Include\crt/stddef.h:119: error: redeclaration of C++ built-in type 'wchar_t'
..\..\Program Files\Microsoft Platform SDK\Include\crt/stdlib.h:258: error: expected constructor, destructor, or type conversion before '_abs64'
..\..\Program Files\Microsoft Platform SDK\Include\crt/stdlib.h:267: error: expected initializer before '_byteswap_uint64'
... и еще 500 подобных потом
Вопрос
Как подключать сторонние (виндусовские) апи к Qт с mingw?Оно вообще возможно что-то с мингв? или лучше на msvc переходить сразу?