Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Компиляция плагинов под firebird в Windows
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Разработка баз данных
Гость_IJor_*
Безуспешно пытаюсь скомпилить dll

выполняю:
qmake "INCLUDEPATH+=C:/Firebird_2_5/include" "LIBS+=C:/Firebird_2_5/lib/fbclient_ms.lib" qsql_ibase.pri
nmake.exe

в ответ получаю:
g++ -c -pipe -fno-keep-inline-dllexport -O2 -fno-exceptions -frtti -Wall
-Wextra -DUNICODE -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -
DQT_NEEDS_QMAIN -I. -I"C:\Firebird_2_5\include" -I"C:\Qt5\5.3\mingw482_32\includ
e" -I"C:\Qt5\5.3\mingw482_32\include\QtGui" -I"C:\Qt5\5.3\mingw482_32\include\Qt
Core" -I".moc\release" -I"..\..\..\..\mkspecs\win32-g++" -o .obj\release\qsql_ib
ase.o qsql_ibase.cpp
cc1plus.exe: error: unrecognized command line option "-fno-keep-inline-dllexport
"
NMAKE : fatal error U1077: c:\MinGW\bin\g++.EXE : возвращенный код "0x1"
Stop.
NMAKE : fatal error U1077: "C:\Program Files (x86)\Microsoft Visual Studio 10.0\
VC\bin\nmake.exe" : возвращенный код "0x2"
Stop.


Кто сталкивался, подскажите , плс, в чем может быть проблема?
lanz
Выглядит как будто у вас студия и GCC перемешались.
Попробуйте явно указать qmake платформу через -tp vc
http://qt-project.org/doc/qt-4.8/qmake-platform-notes.html

Затем открывайте проект в студии и компилируйте оттуда.
ijor
При компиляции только mingw32 возникает уже другая ошибка:

C:\Qt5\5.3\Src\qtbase\src\sql\drivers\ibase>qmake "INCLUDEPATH+=C:/Firebird_2_5/
include" "LIBS+=C:/Firebird_2_5/lib/fbclient_ms.lib" qsql_ibase.pri

C:\Qt5\5.3\Src\qtbase\src\sql\drivers\ibase>mingw32-make
mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/Qt5/5.3/Src/qtbase/src/sql/drivers/ibase
'
g++ -c -pipe -fno-keep-inline-dllexport -O2 -fno-exceptions -frtti -Wall -Wextra
-DUNICODE -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEED
S_QMAIN -I. -I"C:\Firebird_2_5\include" -I"C:\Qt5\5.3\mingw482_32\include" -I"C:
\Qt5\5.3\mingw482_32\include\QtGui" -I"C:\Qt5\5.3\mingw482_32\include\QtCore" -I
".moc\release" -I"..\..\..\..\mkspecs\win32-g++" -o .obj\release\qsql_ibase.o qs
ql_ibase.cpp
cc1plus.exe: error: unrecognized command line option "-fno-keep-inline-dllexport
"
mingw32-make[1]: *** [.obj/release/qsql_ibase.o] Error 1
mingw32-make[1]: Leaving directory `C:/Qt5/5.3/Src/qtbase/src/sql/drivers/ibase'

mingw32-make: *** [release] Error 2
lanz
По моему это та же самая ошибка,
попробуйте совет отсюда
http://stackoverflow.com/questions/1492518...with-qt-creator
Litkevich Yuriy
Цитата(Гость_Гость_IJor_*_* @ 15.1.2015, 19:20) *
unrecognized command line option "-fno-keep-inline-dllexport
Этот ключ компиллер не ест, проверь как у тебя qmake вызывается, если там какая-нибудь строка типа:

qmake ... spec win32-g++4.6
то указание spec убери, у меня на рабочей машине так по умолчанию было, я просто в настройках "Комплектов сборки" удалил
ijor
Цитата(lanz @ 16.1.2015, 19:22) *
По моему это та же самая ошибка,
попробуйте совет отсюда
http://stackoverflow.com/questions/1492518...with-qt-creator


Спасибо, это действительно то, Qt5 установил старый MinGW с которым сам же и не хотел работать, переставил MinGW на последний, эта ошибка прошла. Но дальше возникли сложности с путями. Прописал пути уже до всего чего может только в голову придти, но полностью проблема не решилась. Все равно он не может найти все файла. Как я понимаю править пути в исходниках -плохая идея, а как по другому решить проблему пока в голову не приходит((

Раскрывающийся текст


c:\Qt5\5.3\Src\qtbase\src\sql\drivers\ibase>qmake "INCLUDEPATH+=C:/Firebird_2_5/
include" "INCLUDEPATH+=C:/Qt5/5.3/Src/qtbase/include" "INCLUDEPATH+=C:/Qt5/5.3/S
rc/qtbase/include/QtSql" "LIBS+=C:/Firebird_2_5/lib/fbclient_ms.lib" qsql_ibase.
pri

c:\Qt5\5.3\Src\qtbase\src\sql\drivers\ibase>MinGW32-make
MinGW32-make -f Makefile.Release
MinGW32-make[1]: Entering directory 'c:/Qt5/5.3/Src/qtbase/src/sql/drivers/ibase
'
g++ -c -pipe -fno-keep-inline-dllexport -O2 -fno-exceptions -frtti -Wall -Wextra
-DUNICODE -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEED
S_QMAIN -I. -I"C:\Firebird_2_5\include" -I"..\..\..\..\include" -I"..\..\..\..\i
nclude\QtSql" -I"C:\Qt5\5.3\mingw482_32\include" -I"C:\Qt5\5.3\mingw482_32\inclu
de\QtGui" -I"C:\Qt5\5.3\mingw482_32\include\QtCore" -I".moc\release" -I"..\..\..
\..\mkspecs\win32-g++" -o .obj\release\qsql_ibase.o qsql_ibase.cpp
In file included from ..\..\..\..\include/QtSql/private/qsqldriver_p.h:1:0,from qsql_ibase.cpp:51:
./../../../../src/sql/kernel/qsqldriver_p.h:56:31: fatal error: private/qobject_p.h: No such file or directory
#include "private/qobject_p.h"
^
compilation terminated.
Makefile.Release:454: recipe for target '.obj/release/qsql_ibase.o' failed
MinGW32-make[1]: *** [.obj/release/qsql_ibase.o] Error 1
MinGW32-make[1]: Leaving directory 'c:/Qt5/5.3/Src/qtbase/src/sql/drivers/ibase'

Makefile:34: recipe for target 'release' failed
MinGW32-make: *** [release] Error 2

lanz
Попробуйте наоборот убрать все явные пути, указывающие на Qt и запустите qmake через командную строку Qt
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2019 IPS, Inc.