Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: DDorgNev от Апрель 15, 2017, 03:48



Название: Qt5.8.0+QIBASE сборка не проходит. Помогите, плиз...
Отправлено: DDorgNev от Апрель 15, 2017, 03:48
Приветствую всех.
Ситуация: Win7x64, Qt5.8.0_MinGW32, Firebird 3.0.2 - попытка собрать ibase.dll.
Все используемые папки не содержат пробелов и русских букв.

0.Нахожусь в папке проекта IBASE:

D:\_Qt\Qt5.8.0\5.8\Src\qtbase\src\plugins\sqldrivers\ibase>

1.Запуск:

qmake "INCLUDEPATH+=D:/Firebird/Firebird_3_0/include" "LIBS+=D:/Firebird/Firebird_3_0/lib/fbclient_ms.lib" ibase.pro

прошло с успешным созданием файлов:
   Makefile
   Makefile.Debug
   Makefile.Release
   qsqlibase_resource.rc
   qsqlibased_resource.rc
и папки (пустые):
   .moc (debug + relese)
   .obj (debug + relese)
   .pch (debug + relese)

Теперь, по инструкции, запускаю:
   D:\_Qt\Qt5.8.0\Tools\mingw530_32\bin\mingw32-make.exe all

...и эта зверюга выдает следующий текст:

mingw32-make[1]: Entering directory 'D:/_Qt/Qt5.8.0/5.8/Src/qtbase/src/plugins/sqldrivers/ibase'
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++1z -fno-exceptions -frtti -Wall -Wextra -Wvla -Wdate-time -DUNICODE
-DQT_NO_CAST_TO_ASCII
-DQT_NO_CAST_FROM_ASCII
-DQT_NO_EXCEPTIONS
-DQT_NO_DEBUG
-DQT_PLUGIN
-DQT_SQL_LIB
-DQT_CORE_LIB -I.
-ID:\Firebird\Firebird_3_0\include
-ID:\_Qt\Qt5.8.0\5.8\mingw53_32\include\QtSql\5.8.0
-ID:\_Qt\Qt5.8.0\5.8\mingw53_32\include\QtSql\5.8.0\QtSql
-ID:\_Qt\Qt5.8.0\5.8\mingw53_32\include\QtCore\5.8.0
-ID:\_Qt\Qt5.8.0\5.8\mingw53_32\include\QtCore\5.8.0\QtCore
-ID:\_Qt\Qt5.8.0\5.8\mingw53_32\include
-ID:\_Qt\Qt5.8.0\5.8\mingw53_32\include\QtSql
-ID:\_Qt\Qt5.8.0\5.8\mingw53_32\include\QtCore
-I.moc\release
-IC:\utils\my_sql\my_sql\include
-IC:\utils\postgresql\pgsql\include
-IC:\openssl\include
-I..\..\..\..\mkspecs\win32-g++ 
-o .obj\release\qsql_ibase.o qsql_ibase.cpp
g++: error: CreateProcess: No such file or directory
Makefile.Release:358: recipe for target '.obj/release/qsql_ibase.o' failed
mingw32-make[1]: *** [.obj/release/qsql_ibase.o] Error 1
mingw32-make[1]: Leaving directory 'D:/_Qt/Qt5.8.0/5.8/Src/qtbase/src/plugins/sqldrivers/ibase'
Makefile:38: recipe for target 'release-all' failed
mingw32-make: *** [release-all] Error 2
-------------------------------------------------------------
ВОПРОСЫ:
1. На отсутствие какого файла или папки эта зверюга ругается?
2. откуда и почему в этом тексте присутствуют папки:
   "C:\utils\my_sql..."
   "C:\utils\postgresql..."
   "C:\openssl\..."
я же их не указывал нигде, да и зачем они вообще? При чем тут Мускул и ССЛ?


Название: Re: Qt5.8.0+QIBASE сборка не проходит. Помогите, плиз...
Отправлено: alex312 от Апрель 15, 2017, 05:37
Ты пытаешся подлинковать либу собранную msvc2010 компилятором mingw. Ничего у тебя не выйдет хорошего.
Тебе надо или либы файрберда собрать с помощью mingw, либо свою прогу собирать c msvc10(12,13) и соостетсвующим Qt. C msvc15 и msvc17 тоже не выйдет, там они(microsoft) поломали ABI.


Название: Re: Qt5.8.0+QIBASE сборка не проходит. Помогите, плиз...
Отправлено: lit-uriy от Апрель 20, 2017, 07:23
вроде либы ФБ не надобыло пересобирать, во времена Qt4, но требовалось переименовать
fbclient_ms.lib -> fbclient.lib