The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз фреймворка Qt 6.5"
Отправлено n00by, 06-Апр-23 19:08 
> Вы когда код цитируете, вы его читаете?
> #if defined(Q_CC_MSVC) && !defined(_DLL) // && !defined(Q_OS_WINRT)
> #  ifdef Q_OS_WINRT
> Вам эти дефайны ничего не говорят?

Говорят, что дальше Вы не смогли прочитать. Попробуйте ещё раз, для начала:

#  ifdef Q_OS_WINRT
    // If you wish to accept the memory leaks, uncomment the part above.
    // See:
    //  https://support.microsoft.com/en-us/kb/104641
    //  https://msdn.microsoft.com/en-us/library/kdzttdcb.aspx
#    error "Microsoft documentation says this combination leaks memory every time a thread is started. " \
    "Please change your build back to -MD/-MDd or, if you understand this issue and want to continue, " \
    "edit this source file."
#  endif

> Помимо Q_CC_MSVC там еще есть код, который компилируется Q_CC_GNU (GCC и MinGW),
> Q_CC_CLANG (CLANG, что собственно и говорит из названия). И даже макрос
> поддержки кода для Borland C++ есть Q_CC_BOR.

Что-то Вы забыли привести этот код. Наверное, потому что он плохо вписывается в Вашу гипотезу про --enable-threads=win32

#else
    // MSVC -MD or -MDd or MinGW build
    d->handle = CreateThread(nullptr, d->stackSize,
                             reinterpret_cast<LPTHREAD_START_ROUTINE>(QThreadPrivate::start),
                             this, CREATE_SUSPENDED, reinterpret_cast<LPDWORD>(&d->id));

> Q_OS_WINRT А этот макрос вообще для Windows RT. Приведенный вами фрагмент вообще
> не собирается для Windows x86.

Ещё раз. В Win32 API нет другого способа создать тред, кроме как CreateThread (точнее, NtCreateThread, если не считать пула потоков, о котором MinGW знает вряд ли больше здешних экспертов). И всё это не имеет отношения к вопросу. Эта часть Qt должна собираться и работать и в будущих версиях. Проблемы с теми частями Qt, что завязаны на новые возможности Win32 API.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, [email protected] (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру