Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: kompotFX от Октябрь 22, 2010, 23:08



Название: не компилится код из Windows Platform SDK с mingw
Отправлено: kompotFX от Октябрь 22, 2010, 23:08
Довольно простая задача. Есть рабочий код для блютус сокетов.

Имею:
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 переходить сразу?