Название: QtCreator: неправильна интерпретация QMAKE_TARGET, QMAKE_HOST Отправлено: AkonResumed от Май 18, 2020, 09:17 QtCreator: неправильная интерпретация QMAKE_TARGET, QMAKE_HOST
Требуется определять автоматически архитектуру и добавлять соответствующий суффикс ("-x86", "-x64" и т.п.) к выходному имени приложения или библиотеки (например, МyApp-x64.exe). Соответствующий код в pri-файле таков: Код: # Note: QMAKE_TARGET is empty when using Qt-v4.8.7-win32-x86-mingw32-v4.8.0-posix-dwarf. При сборке из консоли в Windows 64-bit (qmake, nmake/mingw-make) он полностью рабочий (проверялся на Qt4 32-bit и Qt5 64-bit c MSVC и MinGW в каждом случае). QtCreator (v4.12.0 64-bit конкретно) для некоторых конфигураций разрядность определяет неправильно. Т.е., например, собираем 32-битное приложение с использованием Qt 4.8.7 32-бит: сборка из под QtCreator проходит успешно, на выходе получаем MyApp-x86.exe, но далее запуск из под QtCreator идет с ошибкой, поскольку он пытается запустить MyApp-x64.exe. QtCreator сам генерировал конфигурации сборки и запуска и для запуска неправильно сгененрировал выходное имя, т.е. неправильно обработал приведенный выше код. Как обойти проблему? Вообще поведение QMAKE_TARGET/QMAKE_HOST кокое-то мутное. QMAKE_TARGET иногда бывает пустым (и это корень проблемы), и приведенный выше код в этом случае делает проброс на QMAKE_HOST. Насколько это адекватно? QtCreator уже неправильно интерпретирует это. Название: Re: QtCreator: неправильна интерпретация QMAKE_TARGET, QMAKE_HOST Отправлено: ssoft от Май 18, 2020, 16:11 Я использую только значение QMAKE_HOST.arch, сборка с ним всегда происходит верным способом и полностью соответствует инструментарию.
Разборщик QtCreator почему-то использует свое значение QMAKE_HOST.arch, которое зависит от битности самого QtCreator. Только поэтому приходится устанавливать одновременно 32 и 64 битные версии QtCreator и производить отладку 32 битных приложений в QtCreator 32bit, а 64 битных в QtCreator 64bit. Другого решения не знаю. Название: Re: QtCreator: неправильна интерпретация QMAKE_TARGET, QMAKE_HOST Отправлено: AkonResumed от Май 20, 2020, 09:13 Оно как! Спасибо.
|