Невозможно использовать QVector в сборке DEBUG

Использование Qt 5.15.0 в Visual Studio 2019 с установленным расширением Qt VS Tools.

#include <QVector>
int main()
{
    QVector<int> myList;
    return 0;
}

Приведенная выше минимальная программа собирается в режиме RELEASE, но выдает ошибки компоновки в режиме DEBUG:

error LNK2019: unresolved external symbol __imp__invalid_parameter referenced in function "void __cdecl std::_Load_barrier(enum std::memory_order)"
error LNK2019: unresolved external symbol __imp__CrtDbgReport referenced in function "void __cdecl std::_Load_barrier(enum std::memory_order)"
fatal error LNK1120: 2 unresolved externals

Я наткнулся на этот вопрос, который дал мне подсказку о конфигурации сборки. В Project Properties > Qt Project Settings мне не удалось определить настройку, которую необходимо изменить.

Как решить эту проблему?

Обновление 1

Некоторые дополнительные детали конфигурации (предлагаемые в комментарии):

  • Простой файл Visual Studio .sln (без CMake), который загружает проект .vcxproj
  • Qt скачан и установлен на C:\Qt

Обновление 2

Дополнительные сведения из файла проекта Visual Studio (.vcxproj) на основе комментария. Вот как ссылаются на Qt для сборок Debug/Release:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
  <QtInstall>msvc2019_64</QtInstall>
  <QtModules>core</QtModules>
  <QtBuildConfig>debug</QtBuildConfig>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
  <QtInstall>msvc2019_64</QtInstall>
  <QtModules>core</QtModules>
  <QtBuildConfig>release</QtBuildConfig>
</PropertyGroup>

person AlainD    schedule 21.07.2020    source источник
comment
Трудно сказать, не видя конфигурации вашего проекта, используете ли вы проект Visual Studio (.sln) или строите с помощью CMake? Как вы связываете библиотеки Qt, вы их собирали или скачивали?   -  person Kaldrr    schedule 21.07.2020
comment
@Kaldrr: Простой .sln, который загружает .vcxproj. Qt был загружен и установлен в C:\Tmp\Qt. Тестировал Qt и смог использовать QString, QDir и некоторые другие классы в режимах RELEASE и _DEBUG. QVector был первым, кто не связался.   -  person AlainD    schedule 21.07.2020
comment
На самом деле это не связано с вашим вопросом, но я хотел бы упомянуть, что считается очень плохой практикой иметь main с void в качестве возвращаемого типа в С++ (если вы, конечно, не используете встроенную систему), поскольку у вас не будет представление о том, как ваша программа завершила работу в случае сбоя. Вы можете вернуть EXIT_SUCCESS или EXIT_FAILURE, определенные в stdio.h, или что-то подобное. Процитируем Бьерна Страуструпа: › Определение void main() не является и никогда не было C++ и даже не C. en.cppreference.com/w/cpp/language/main_function   -  person Erel    schedule 21.07.2020
comment
@Erel: Справедливо, я просто хотел минимальный пример. Я обновил вопрос соответственно.   -  person AlainD    schedule 21.07.2020
comment
Как выглядит файл проекта Qt? Это должен быть файл yourProject.pro. У него есть QT += core строка?   -  person Alexander V    schedule 21.07.2020
comment
@AlexanderV: я использую Visual Studio с файлом .vcxproj. Я обновлю вопрос, указав подробности о том, как там упоминается Qt.   -  person AlainD    schedule 21.07.2020
comment
@AlainD Попробуйте создать тот же проект с Qt Creator в Windows и посмотрите, работает ли это. Что-то пошло не так с импортом проекта Qt. Затем, если он работает в Qt Creator, вы сможете повторно импортировать его в Visual Studio. Хотя, почему, мы можем использовать Creator.   -  person Alexander V    schedule 21.07.2020
comment
Не удается воспроизвести, может быть, вы могли бы попробовать собрать с другим Windows SDK?   -  person Kaldrr    schedule 21.07.2020