Название: Сборка Qt-5.5.0 из исходников. Ошибки при сборке ICU - C++ Qt Отправлено: AccumPlus от Сентябрь 06, 2015, 00:04 Доброго времени суток!
Пытаюсь собрать Qt-5.5.0 из исходников. Заранее прошу не корить за неверно выбранные термины - я в этом деле новичок. Следую этому (http://qtlinux.narod.ru/make_qt5.htm) мануалу. Всё устанавливаемое программное обеспечение 32-ух разрядное. Система Windows 10 64x. Первая проблема возникла при сборке ICU. На этом шаге появилась ошибка "error '_hypot' was not declared in this scope". Здесь (https://github.com/g-truc/glm/issues/300) посоветовали использовать флаг "-D__NO_INLINE__" в опциях компилятора. Долго тупил, куда этот флаг прописать, поэтому пробовал везде, где только писалось. Положительный результат проявился после редактирования файла runConfigureICU, который лежит в папке исходников ICU, следующим образом: ... MacOSX/GCC) THE_OS="MacOS X (Darwin)" THE_COMP="the GNU C++" RELEASE_CFLAGS='-O2' RELEASE_CXXFLAGS='-O2' DEBUG_CFLAGS='-g -O0' DEBUG_CXXFLAGS='-g -O0' CC=gcc; export CC CXX=g++; export CXX ;; MinGW) THE_OS="MinGW" THE_COMP="the GNU C++" RELEASE_CFLAGS='-O3' RELEASE_CXXFLAGS='-O3' CXXFLAGS="--std=c++03 -D__NO_INLINE__" export CXXFLAGS ;; MSYS/MSVC) THE_OS="MSYS" THE_COMP="Microsoft Visual C++" CC=cl; export CC CXX=cl; export CXX RELEASE_CFLAGS='-Gy -MD' RELEASE_CXXFLAGS='-Gy -MD' DEBUG_CFLAGS='-Zi -MDd' DEBUG_CXXFLAGS='-Zi -MDd' DEBUG_LDFLAGS='-DEBUG' ;; ... Я не знаю, насколько это верно, но по крайней мере та ошибка больше не вылезала. Следующий ступор возник непосредственно на этапе сборки Qt при использовании команды mingw32-make. Начали вылазить проблемы, связанные с путями к ICU и Openssl. Пришлось немного поменять файл config.bat (указанный на сайте того мануала) следующим образом: set INCLUDE=D:\Programs\Qt\qt-5-deps\icu\dist\include set INCLUDE=%INCLUDE%;D:\Programs\Qt\qt-5-deps\openssl-1.0.1p\dist\include set LIB=D:\Programs\Qt\qt-5-deps\icu\dist\lib set LIB=%LIB%;D:\Programs\Qt\qt-5-deps\openssl-1.0.1p\dist\lib set QMAKESPEC= set QTDIR= set PATH=D:\Programs\Qt\qt-5.5.0\qtbase\bin set PATH=%PATH%;D:\Programs\Qt\qt-5.5.0\gnuwin32\bin set PATH=%PATH%;D:\Programs\MinGW\bin set PATH=%PATH%;D:\Programs\Strawberry\c\bin set PATH=%PATH%;D:\Programs\Strawberry\perl\bin set PATH=%PATH%;D:\Programs\Python2.7 set PATH=%PATH%;D:\Programs\Ruby22\bin set PATH=%PATH%;D:\Programs\Qt\qt-5-deps\icu\dist\bin set PATH=%PATH%;D:\Programs\Qt\qt-5-deps\openssl-1.0.1p\dist\bin set PATH=%PATH%;D:\Programs\Git\cmd set PATH=%PATH%;%SystemRoot%\System32 set MAKE_COMMAND= set DXSDK_DIR=D:\Programs\DXSDK\ configure -prefix D:\Programs\Qt\qt-5.5.0\qtbase -opensource -confirm-license -platform win32-g++ -release -shared -debug-and-release -c++11 -qt-zlib -icu -opengl desktop -openssl -iconv -plugin-sql-odbc -nomake tests -nomake examples -I D:\Programs\Qt\qt-5-deps\icu\dist\include -I D:\Programs\Qt\qt-5-deps\openssl-1.0.1p\dist\include -L D:\Programs\Qt\qt-5-deps\icu\dist\lib -L D:\Programs\Qt\qt-5-deps\openssl-1.0.1p\dist\lib То есть пришлось явно указать пути к LIB и INCLUDE в команде configure, используя параметры -L и -I. Далее сборка шла около сорока минут, пока не начали высвечиваться ошибки (так я и не понял, как на вашем форуме вставлять картинки из вложений, поэтому они просто прикреплены к сообщению). На просторах интернета я не нашёл ничего дельного, поэтому решил обратиться сюда. Как решить данную проблему? Если понадобится, то вот содержимое переменной PATH (для наглядности сделал списком): D:\Programs\Python2.7\; D:\Programs\Python2.7\Scripts; %SystemRoot%\system32; %SystemRoot%; %SystemRoot%\System32\Wbem; %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\; C:\Program Files (x86)\Skype\Phone\; C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\; C:\Program Files\Microsoft SQL Server\110\Tools\Binn\; D:\Programs\MySQL\bin; D:\Programs\Strawberry\c\bin; D:\Programs\Strawberry\perl\site\bin; D:\Programs\Strawberry\perl\bin; D:\Programs\Git\cmd; D:\Programs\MinGW\bin; D:\Programs\DXSDK; D:\Programs\Ruby22\bin; Большое спасибо! Название: Re: Сборка Qt-5.5.0 из исходников. Ошибки при сборке ICU - C++ Qt Отправлено: BuRn от Сентябрь 06, 2015, 00:15 А вам нужен вообще icu ? У меня тоже были ошибки сборки, но мне он не нужен и я его просто исключил из сборки
Название: Re: Сборка Qt-5.5.0 из исходников. Ошибки при сборке ICU - C++ Qt Отправлено: AccumPlus от Сентябрь 06, 2015, 00:25 А вам нужен вообще icu ? У меня тоже были ошибки сборки, но мне он не нужен и я его просто исключил из сборки Вопрос конечно хороший... Моя ключевая цель - это сборка с openssl, ибо установщики Qt её по умолчанию не имеют, а все мои попытки подключения этих библиотек в уже установленную программу окончились неудачно. Но тем не менее я не исключаю возможности использования всех инструментов Qt, в том числе и QtWebKit, который, насколько я понимаю, не соберётся без ICU.Я бы и с MySQL собрал, но ошибок навылазило в несколько раз больше, да и прикрутить его к уже собранной Qt возможно. Конечно, было бы здорово собрать всё за раз. И я был бы очень благодарен, если бы вы меня проинформировали, как собрать Qt с MySQL или хотя бы перенаправили на хорошую инструкцию) Название: Re: Сборка Qt-5.5.0 из исходников. Ошибки при сборке ICU - C++ Qt Отправлено: Kurles от Сентябрь 06, 2015, 17:50 Моя ключевая цель - это сборка с openssl, ибо установщики Qt её по умолчанию не имеют Кто это вам сказал?Название: Re: Сборка Qt-5.5.0 из исходников. Ошибки при сборке ICU - C++ Qt Отправлено: _Konstantin_ от Сентябрь 06, 2015, 21:05 Начните от простого к сложному. Тут описано подробно, но на английском http://doc.qt.io/qt-5/configure-options.html#compiler-options
тут описывают на русском, но без описания конкретных опций, однако там прописан порядок http://yourdevice.net/forum/viewtopic.php?f=19&t=1943&sid=95b47b1793f1efee60649b3bb8c3e61f если делать под Linux, то необходимые пакеты так же и там нужно доставлять. Еще нужно обратить внимание на различные зависимости если ставите под Linux. Это есть в документации по первой ссылке. Касаемо WebKit - этот монстр вам не пригодится если не будете писать свои собственные браузерные решения. А собирается он зараза капризно... Поэтому если не будете использовать, то не тратьте время. Насчет MySql, это вообще можно плагином подключить, а не драйверами... Название: Re: Сборка Qt-5.5.0 из исходников. Ошибки при сборке ICU - C++ Qt Отправлено: AccumPlus от Сентябрь 06, 2015, 21:42 Кто это вам сказал? Да собственно практика показала... У меня прога, передающая/принимающая данные по https протоколу не работает, а у товарища всё ок. Советы типа "добавьте пару dll файлов из openssl" не помогли, поэтому решили, что нужно собирать.Касаемо WebKit - этот монстр вам не пригодится если не будете писать свои собственные браузерные решения. А собирается он зараза капризно... Поэтому если не будете использовать, то не тратьте время. Тут уже наверное спортивный интерес) Столько ошибок было сломлено, а эта зараза вылазит. Не хочется сдаваться. Спасибо за ссылки, может найду что-нибудь дельное.Насчет MySql, это вообще можно плагином подключить, а не драйверами... А в чём основное различие?Название: Re: Сборка Qt-5.5.0 из исходников. Ошибки при сборке ICU - C++ Qt Отправлено: Kurles от Сентябрь 06, 2015, 23:24 Кто это вам сказал? Да собственно практика показала... У меня прога, передающая/принимающая данные по https протоколу не работает, а у товарища всё ок. Советы типа "добавьте пару dll файлов из openssl" не помогли, поэтому решили, что нужно собирать.Название: Re: Сборка Qt-5.5.0 из исходников. Ошибки при сборке ICU - C++ Qt Отправлено: Bepec от Сентябрь 07, 2015, 00:53 Блииин, как жеж я этого не заметил... Пасип Kurles.
|