crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V  < 1 2 3 4 >  
Ответить в данную темуНачать новую тему
> Qt и mySQL, непонятки при компиляции самой либы с поддержкой mySQL.
Stiff
  опции профиля:
сообщение 11.5.2009, 18:16
Сообщение #21


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 11.4.2009
Пользователь №: 674

Спасибо сказали: 0 раз(а)




Репутация:   0  


потому что в переменных средах не прописал :) щас поправил.
щас сгенерировал def-файл, сформировал библиотеку *.a
cd F:\MySQL\lib\opt
reimp -d libmysql.lib
dlltool -d libmysql.def -l libmysql.a libmysql.dll -k

потом :
Раскрывающийся текст

cd %QTDIR%\src\plugins\sqldrivers\mysql

F:\Qt\qt\src\plugins\sqldrivers\mysql> qmake -o Makefile "INCLUDEPATH+=F:\MySQL\i
nclude" "LIBS+=F:\MySQL\lib\opt\libmysql.a" mysql.pro

F:\Qt\qt\src\plugins\sqldrivers\mysql> mingw32-make release debug
mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `F:/Qt/qt/src/plugins/sqldrivers/mysql'
g++ -c -O2 -Wall -fno-exceptions -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT
_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB
-DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\qt-greenhouse\Trolltech\Code_less_creat
e_more\Trolltech\Code_less_create_more\Troll\4.5.0\qt\include\QtCore" -I"c:\qt-g
reenhouse\Trolltech\Code_less_create_more\Trolltech\Code_less_create_more\Troll\
4.5.0\qt\include\QtSql" -I"c:\qt-greenhouse\Trolltech\Code_less_create_more\Trol
ltech\Code_less_create_more\Troll\4.5.0\qt\include" -I"f:\MySQL\include" -I"c:\q
t-greenhouse\Trolltech\Code_less_create_more\Trolltech\Code_less_create_more\Tro
ll\4.5.0\qt\include\ActiveQt" -I"release" -I"." -I"..\..\..\..\mkspecs\win32-g++
" -o release\main.o main.cpp
main.cpp:42:30: qsqldriverplugin.h: No such file or directory
main.cpp:43:25: qstringlist.h: No such file or directory
In file included from main.cpp:44:
../../../sql/drivers/mysql/qsql_mysql.h:45:30: QtSql/qsqldriver.h: No such file
or directory
../../../sql/drivers/mysql/qsql_mysql.h:46:30: QtSql/qsqlresult.h: No such file
or directory
In file included from f:/MySQL/include/mysql.h:71,
                 from ../../../sql/drivers/mysql/qsql_mysql.h:52,
                 from main.cpp:44:
f:/MySQL/include/mysql_com.h:243: error: `SOCKET' does not name a type
f:/MySQL/include/mysql_com.h:417: error: `SOCKET' was not declared in this scope

f:/MySQL/include/mysql_com.h:417: error: expected primary-expression before "con
st"
f:/MySQL/include/mysql_com.h:417: error: expected primary-expression before "uns
igned"
f:/MySQL/include/mysql_com.h:418: error: expected primary-expression before "uns
igned"
f:/MySQL/include/mysql_com.h:418: error: initializer expression list treated as
compound expression
In file included from main.cpp:44:
../../../sql/drivers/mysql/qsql_mysql.h:60: error: `QT_BEGIN_HEADER' does not na
me a type
../../../sql/drivers/mysql/qsql_mysql.h:70: error: expected class-name before '{
' token
../../../sql/drivers/mysql/qsql_mysql.h:76: error: `QVariant' does not name a ty
pe
../../../sql/drivers/mysql/qsql_mysql.h:83: error: `QVariant' does not name a ty
pe
../../../sql/drivers/mysql/qsql_mysql.h:85: error: expected `,' or `...' before
'&' token
../../../sql/drivers/mysql/qsql_mysql.h:85: error: ISO C++ forbids declaration o
f `QString' with no type
../../../sql/drivers/mysql/qsql_mysql.h:88: error: `QVariant' does not name a ty
pe
../../../sql/drivers/mysql/qsql_mysql.h:89: error: `QSqlRecord' does not name a
type
../../../sql/drivers/mysql/qsql_mysql.h:94: error: expected `,' or `...' before
'&' token
../../../sql/drivers/mysql/qsql_mysql.h:94: error: ISO C++ forbids declaration o
f `QString' with no type
../../../sql/drivers/mysql/qsql_mysql.h:102: error: expected class-name before '
{' token
../../../sql/drivers/mysql/qsql_mysql.h:104: error: ISO C++ forbids declaration
of `Q_OBJECT' with no type
../../../sql/drivers/mysql/qsql_mysql.h:104: error: expected `;' before "friend"

../../../sql/drivers/mysql/qsql_mysql.h:106: error: expected `)' before '*' toke
n
../../../sql/drivers/mysql/qsql_mysql.h:107: error: `QObject' has not been decla
red
../../../sql/drivers/mysql/qsql_mysql.h:107: error: ISO C++ forbids declaration
of `parent' with no type
../../../sql/drivers/mysql/qsql_mysql.h:109: error: expected `;' before '(' toke
n
../../../sql/drivers/mysql/qsql_mysql.h:110: error: expected `,' or `...' before
'&' token
../../../sql/drivers/mysql/qsql_mysql.h:115: error: ISO C++ forbids declaration
of `QString' with no type
../../../sql/drivers/mysql/qsql_mysql.h:117: error: ISO C++ forbids declaration
of `QSqlResult' with no type
../../../sql/drivers/mysql/qsql_mysql.h:117: error: expected `;' before '*' toke
n
../../../sql/drivers/mysql/qsql_mysql.h:118: error: `QStringList' does not name
a type
../../../sql/drivers/mysql/qsql_mysql.h:119: error: `QSqlIndex' does not name a
type
../../../sql/drivers/mysql/qsql_mysql.h:120: error: `QSqlRecord' does not name a
type
../../../sql/drivers/mysql/qsql_mysql.h:121: error: `QString' does not name a ty
pe
../../../sql/drivers/mysql/qsql_mysql.h:123: error: `QVariant' does not name a t
ype
../../../sql/drivers/mysql/qsql_mysql.h:124: error: `QString' does not name a ty
pe
../../../sql/drivers/mysql/qsql_mysql.h:132: error: ISO C++ forbids declaration
of `QMYSQLDriverPrivate' with no type
../../../sql/drivers/mysql/qsql_mysql.h:132: error: expected `;' before '*' toke
n
../../../sql/drivers/mysql/qsql_mysql.h:135: error: `QT_END_NAMESPACE' does not
name a type
main.cpp:57: error: `QMYSQLDriverPlugin' has not been declared
main.cpp:58: error: ISO C++ forbids declaration of `QMYSQLDriverPlugin' with no
type
main.cpp: In function `int QMYSQLDriverPlugin()':
main.cpp:58: error: only constructors take base initializers
main.cpp: At global scope:
main.cpp:62: error: expected constructor, destructor, or type conversion before
'*' token
main.cpp:62: error: expected `,' or `;' before '*' token
main.cpp:71: error: `QStringList' does not name a type
main.cpp:79: error: expected constructor, destructor, or type conversion before
'(' token
main.cpp:79: error: expected `,' or `;' before '(' token
mingw32-make[1]: *** [release/main.o] Error 1
mingw32-make[1]: Leaving directory `F:/Qt/qt/src/plugins/sqldrivers/mysql'
mingw32-make: *** [release] Error 2



Ума не приложу что с этим делать... адресов таких в C:\ никогда и не было... хотя Qt 4.5.0 стояла в C:\Qt\2009.01\
Возможно в переменных средах что-то забыл прописать или некорректно это сделал?
Уже прописано:
CurrentUser:
PATH: F:\Qt\bin\;F:\Qt\mingw\bin\;F:\Qt\mingw\mingw32\bin\;F:\Qt\mingw\libexec\gcc\mingw32\3.4.5\
QMAKESPEC: F:\Qt\qt\mkspecs\win32-g++
QTDIR: F:\Qt\qt
System:
PATH: F:\Qt\mingw\bin\;F:\Qt\qt\qmake;F:\MySQL\bin
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.5.2009, 19:04
Сообщение #22


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Stiff @ 11.5.2009, 22:16) *
PATH: F:\Qt\bin\
Цитата(Stiff @ 11.5.2009, 22:16) *
QTDIR: F:\Qt\qt
что-то я не понял, что за bin? Что в нём?
Цитата(Stiff @ 11.5.2009, 22:16) *
потому что в переменных средах не прописал
QMAKESPEC необязательно прописывать если ты не собираешся собирать саму библиотеку (т.е. сам qmake)

Вообще расскажи, что и как ты ставил. Qt, компилятор и т.д. где брал и их названия.

Если воспользоваться автоустановщиком Qt, то большенство из твои действий просто лишние.

Цитата(Stiff @ 11.5.2009, 22:16) *
адресов таких в C:\ никогда и не было... хотя Qt 4.5.0 стояла в C:\Qt\2009.01\
это я вообще не понял.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Stiff
  опции профиля:
сообщение 11.5.2009, 19:58
Сообщение #23


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 11.4.2009
Пользователь №: 674

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ставилось qt-sdk-win-opensource-2009.02. То есть всё в одном флаконе, Qt SDK for Windows(167 mb).
Никаких переменных сред при установке не добавилось, всё прописывал вручную, чтобы через cmd можно было работать.
Без задания в переменную среду QMAKESPEC в cmd ругался при команде qmake, мол не может найти по адресу типа "c:\qt-greenhouse\Trolltech\..." что-то там дальше, особо не запомнил. В листинге ниже опять встречается похожий путь. Что он значит? Такого пути никогда не существовало даже...


F:\Qt - папка в которой лежит: Qt, MinGW, bin, lib, share.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.5.2009, 20:45
Сообщение #24


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Stiff @ 11.5.2009, 23:58) *
В листинге ниже опять встречается похожий путь.
этот:
Цитата(Stiff @ 11.5.2009, 23:58) *
"c:\qt-greenhouse\Trolltech\..."

Если да, то я склонен считать, что у тебя ненормально установилась Qt. Т.к. при установке, должны были пропатчится qmake, QtCore.dll, и еще некоторые dll'ки, в которых жестко зашиваются пути при их компиляции. Это видимо и есть причина косяков со speck'ом.

вообще тип платформы, нужно задавать по имени подкаталога, а не с использованием пути, например:
H:/Qt/4.4.3_shared/bin/qmake calculator.pro  -o Makefile -spec win32-g++


но ты должен знать что в qmake жестко вкомпилены и пути к библиотеки и тип компилятора.
По сути нужна только одна переменная окружения - PATH = <путь к qmake>

Предлагаю снести имеющуюся установку Qt, перегрузить машину и установить заново.

Цитата(Stiff @ 11.5.2009, 23:58) *
F:\Qt - папка в которой лежит: Qt, MinGW, bin, lib, share.
а что за bin, lib, share.
Я полной устаовкой не пользуюсь и непредставляю чего там ещё навалено. Может это от Креатора потраха?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Stiff
  опции профиля:
сообщение 12.5.2009, 12:56
Сообщение #25


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 11.4.2009
Пользователь №: 674

Спасибо сказали: 0 раз(а)




Репутация:   0  


Перестановил винду(давно уже собирался). Поставил Qt ту же, всё сделал как описал выше, и снова всё так же. Точь в точь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.5.2009, 13:12
Сообщение #26


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Stiff @ 12.5.2009, 16:56) *
всё сделал как описал выше,
ты много чего выше описал

После установки Qt SDK, если установщик не предлагает создавать переменные окружения, создай их сам. Прочитай статью по сборке Qt и настрой переменные окружения по аналогии с ней. Но если ты используешь одну версию Qt тебе необязательно делать это в bat-файле.
Мало того в самом Креаторе можно задать необходимое окружение (в этом отношении он какашка, т.к. всё сделано очень неудобно)

П.С. попробуй скомпилировать какие-нибудь примеры, собственноручно, а затем запустить. отпишись о результатах.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Stiff
  опции профиля:
сообщение 12.5.2009, 13:46
Сообщение #27


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 11.4.2009
Пользователь №: 674

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всё, откомпилось отлично. Вот она моя dll-ка :) Причина была в том, что в переменных средах в разделе PATH не было прописано %QTDIR%\bin. Отсюда все проблемы были...
Спасибо большое.
PS: в списке драйвером в Qt Demo не отображается :) После универа сяду посмотрю в чём трабл.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.5.2009, 13:53
Сообщение #28


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Stiff @ 12.5.2009, 17:46) *
в списке драйвером в Qt Demo не отображается
ни чего не понял
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Stiff
  опции профиля:
сообщение 12.5.2009, 18:03
Сообщение #29


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 11.4.2009
Пользователь №: 674

Спасибо сказали: 0 раз(а)




Репутация:   0  


Извиняюсь, плохо выразился. Qt Demo->Demonstration->SQL Browser :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 12.5.2009, 18:23
Сообщение #30


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Посмотри вот это описалово. Описано подробнее просто некуда.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 4:48