Название: qmake target bits Отправлено: Acrobat от Сентября 11, 2019, 14:10 Как указать в опции qmake целевую разрядность? Или это в nmake указывается?
Название: Re: qmake target bits Отправлено: ViTech от Сентября 11, 2019, 14:44 В основном, целевая разрядность определяется инструментом сборки (компилятором, который входит в toolchain/Kit). Каким toolchain'ом собирается проект, такая разрядность и будет. Так что в nmake. В pro-файле можно определить целевую архитектуру (https://wiki.qt.io/Technical_FAQ#How_can_I_detect_in_the_.pro_file_if_I_am_compiling_on_a_32_bit_or_a_64_bit_platform.3F).
Название: Re: qmake target bits Отправлено: Acrobat от Сентября 11, 2019, 14:51 понял, спасибо
Название: Re: qmake target bits Отправлено: Acrobat от Сентября 11, 2019, 15:54 что-то не то, разрядность нужно указывать в qmake, nmake он всегда свой для целевой платформы. Пробовал в .pro прописать TARGET = 64bit_binary, ничего не изменилось, на выходе:
Qt5Sql.lib(Qt5Sql.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' Название: Re: qmake target bits Отправлено: ViTech от Сентября 11, 2019, 16:14 How to: Enable a 64-Bit, x64 hosted MSVC toolset on the command line (https://github.com/MicrosoftDocs/cpp-docs/blob/master/docs/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line.md#how-to-enable-a-64-bit-x64-hosted-msvc-toolset-on-the-command-line).
В Qt Creator Kit Settings (https://doc.qt.io/qtcreator/creator-targets.html#specifying-kit-settings) задаётся компилятор нужной разрядности. Библиотеки Qt собранные в x86 не совместимы с x64, и наоборот. Название: Re: qmake target bits Отправлено: Acrobat от Сентября 11, 2019, 16:32 Спасибо. Это всё понятно. Qt 64 разрядный, console promt MSVS x64. Проблема в том что nmake по умолчанию хочет собрать x86 (о чем и говори ошибка), как его заставить собирать 64 битное приложение не понятно.
(https://i.ibb.co/mbrhTZs/image.jpg) Название: Re: qmake target bits Отправлено: ViTech от Сентября 11, 2019, 17:15 Странно. Попробуйте простое тестовое приложение собрать в x64, чтобы убедиться, что nmake в принципе x64 нормально собирает. Попробуйте удалить все временные файлы в plugins\sqldrivers\oci, чтобы повторить сборку в чистом окружении, может из старого что мешает. Убедитесь, что библиотека в C:\oracle\...\lib\msvc x64, а не x86.
Название: Re: qmake target bits Отправлено: Acrobat от Сентября 11, 2019, 17:21 Действительно. Почистил всё и собралось на ура. Скил наития слабоват. Спасибо большое.
|