Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/19: Рейтинг темы: голосов - 19, средняя оценка - 4.84
3 / 3 / 2
Регистрация: 29.06.2012
Сообщений: 118
1

QT 5.1.1 и MySQL 5.5 собрать правильно

10.01.2014, 10:44. Показов 3602. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте дорогие форумчане.
Проблема есть.
Решил собрать проект для подключения из QT 5.1.1 к базе данных MySQL.
1 Необходимо собрать драйвер MySQL для подключения QT к базе данных.
Должны получиться 4 файла - libqsqlmysql.a
libqsqlmysqld.a
qsqlmysql.dll
qsqlmysqld.dll

Эти 4 файла необходимо раскидать по директориям
C:\Qt5.1.0\5.1.0\mingw48_32\plugins\sqldrivers, с расширением .а в C:\Qt5.1.0\5.1.0\mingw48_32\lib.
и файл libmysql.dll забросим из %mysql% в C:\Windows.
и ещё прописать переменную PATH в системе Windows с путями
E:\Qt\5.1.1\mingw48_32\bin
E:\Qt\Tools\mingw48_32\lib

Не уверен в директориях. Директории можно посмотреть на видео, которое где-то здесь на форуме.
Инструкция для создания этих файлов на всех сайтах есть, но она не полная. В конце концов я нашел сайт - http://kupchyklabs.com.ua/qt-5... %82%D0%B0/ где просто скачал необходимые файлы.
Правда там все собиралось в QT 5.1.0. Но пример, который приведен в конце на том, сайте - работает.

2 Теперь после всего этого, создаю проект в QT 5.1.1
Прописываю вот такой код в файле mainwindow.cpp:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtGui>
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
 
            QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL55");
            db.setHostName("127.0.0.1");
            db.setDatabaseName("test");
            db.setUserName("root");
            db.setPassword("1111");
            db.setConnectOptions();
            if (db.open())
                qDebug() << "OKKKKK!";
            else qDebug() << "Failed to connect to root mysql admin";
 
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
и файле base3.pro:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
QT       += core gui
QT       += sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
TARGET = base3
TEMPLATE = app
 
 
SOURCES += main.cpp\
        mainwindow.cpp
 
HEADERS  += mainwindow.h
 
FORMS    += mainwindow.ui
3 Собираю проект. Выполняю и получаю
Запускается E:\qt proecte\build-base3-Desktop_Qt_5_1_1_MinGW_32bit-Debug\debug\base3.exe...
QSqlDatabase: QMYSQL55 driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Failed to connect to root mysql admin
E:\qt proecte\build-base3-Desktop_Qt_5_1_1_MinGW_32bit-Debug\debug\base3.exe завершился с кодом 0.

Помогите, а то уже 3 дня мучаюсь.
Дайте пожалуйста пошаговую инструкцию по сборке драйвера на мою версию QT 5.1.1 и MySQL Server 5.5.
Данные все предоставлю, могу открыть доступ через инет, только страшно - вирусы, кейлогеры.
ХЕЛППППППП, люди!!!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2014, 10:44
Ответы с готовыми решениями:

правильно собрать ПК
У меня есть старый ПК, но хороший монитор и системный блок. Я хочу купить новую материнку. Какая...

Правильно собрать код
Нашел статью, но правильно собрать не могу...

Qt 5.7 + MySQL 5.7 собрать плагин для работы
Всем привет! Ребят у меня в жизни новый трабл, MySQL! Точнее скачал последний Qt и MySQL и не знаю...

QT с бд MYSQL Как собрать проект в релизе
Вопрос такой- есть приложение, которое работает с базой данных MySql, можно ли как-то собрать это...

8
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
10.01.2014, 12:08 2
Плагины должны быть собраны той же версией компилятора что и сами библиотеки Qt + той с той же версией Qt.
У вас же версии Qt отличаются.
Просто соберите плагин сами, качать готовые сборки плагинов в 99% случаев бессмысленно.
1
3 / 3 / 2
Регистрация: 29.06.2012
Сообщений: 118
10.01.2014, 12:26  [ТС] 3
Цитата Сообщение от RazrFalcon Посмотреть сообщение
Плагины должны быть собраны той же версией компилятора что и сами библиотеки Qt + той с той же версией Qt.
У вас же версии Qt отличаются.
Просто соберите плагин сами, качать готовые сборки плагинов в 99% случаев бессмысленно.
Вот именно этим и занимался


Кликните здесь для просмотра всего текста
Setting up environment for Qt usage...

E:\Qt\5.1.1\mingw48_32>set mysql=C:\PROGRA~1\MYSQL\MYSQLS~1.5

E:\Qt\5.1.1\mingw48_32>cd..

E:\Qt\5.1.1>cd src

E:\Qt\5.1.1\Src>cd qtbase\src

E:\Qt\5.1.1\Src\qtbase\src>cd plugins\sqldrivers\mysql

E:\Qt\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH+=C:\PROGR
A~1\MYSQL\MYSQLS~1.5\INCLUDE" "LIBS+=C:\PROGRA~1\MYSQL\MYSQLS~1.5\LIB\LIBMYSQL.L
IB" -O Makefile mysql.pro
***Unknown option -O
Usage: qmake [mode] [options] [files]

QMake has two modes, one mode for generating project files based on
some heuristics, and the other for generating makefiles. Normally you
shouldn't need to specify a mode, as makefile generation is the default
mode for qmake, but you may use this to test qmake on an existing project

Mode:
-project Put qmake into project file generation mode
In this mode qmake interprets files as files to
be built,
defaults to *; *; *; *.ts; *.xlf; *.qrc
Note: The created .pro file probably will
need to be edited. For example add the QT variable to
specify what modules are required.
-makefile Put qmake into makefile generation mode (default)
In this mode qmake interprets files as project files to
be processed, if skipped qmake will try to find a project
file in your current working directory

Warnings Options:
-Wnone Turn off all warnings; specific ones may be re-enabled by
later -W options
-Wall Turn on all warnings
-Wparser Turn on parser warnings
-Wlogic Turn on logic warnings (on by default)
-Wdeprecated Turn on deprecation warnings (on by default)

Options:
* You can place any variable assignment in options and it will be *
* processed as if it was in [files]. These assignments will be parsed *
* before [files]. *
-o file Write output to file
-d Increase debug level
-t templ Overrides TEMPLATE as templ
-tp prefix Overrides TEMPLATE so that prefix is prefixed into the value
-help This help
-v Version information
-after All variable assignments after this will be
parsed after [files]
-norecursive Don't do a recursive search
-recursive Do a recursive search
-set <prop> <value> Set persistent property
-unset <prop> Unset persistent property
-query <prop> Query persistent property. Show all if <prop> is empty.
-cache file Use file as cache [makefile mode only]
-spec spec Use spec as QMAKESPEC [makefile mode only]
-nocache Don't use a cache file [makefile mode only]
-nodepend Don't generate dependencies [makefile mode only]
-nomoc Don't generate moc targets [makefile mode only]
-nopwd Don't look for files in pwd [project mode only]

E:\Qt\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH+=C:\PROGR
A~1\MYSQL\MYSQLS~1.5\INCLUDE" "LIBS+=C:\PROGRA~1\MYSQL\MYSQLS~1.5\LIB\LIBMYSQL.L
IB" -o Makefile mysql.pro

E:\Qt\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql>mingw32-make
mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory 'E:/Qt/5.1.1/Src/qtbase/src/plugins/sqldrive
rs/mysql'
E:\Qt\\5.1.1\mingw48_32\bin\moc.exe -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 -D__GNUC__ -DWIN32 -I. -I"C:\PROGRA~1\MYSQL\MYSQLS~1.5\INCLUDE" -I"E:\Qt\5.1
.1\mingw48_32\include" -I"E:\Qt\5.1.1\mingw48_32\include\QtSql" -I"E:\Qt\5.1.1\m
ingw48_32\include\QtSql\5.1.1" -I"E:\Qt\5.1.1\mingw48_32\include\QtSql\5.1.1\QtS
ql" -I"E:\Qt\5.1.1\mingw48_32\include\QtCore" -I"E:\Qt\5.1.1\mingw48_32\include\
QtCore\5.1.1" -I"E:\Qt\5.1.1\mingw48_32\include\QtCore\5.1.1\QtCore" -I".moc\rel
ease_shared" -I"..\..\..\..\mkspecs\win32-g++" main.cpp -o .moc\release_shared\m
ain.moc
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++0x -fno-exceptions -frtti -W
all -Wextra -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCE
PTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -I"C:\PROGRA~1\M
YSQL\MYSQLS~1.5\INCLUDE" -I"E:\Qt\5.1.1\mingw48_32\include" -I"E:\Qt\5.1.1\mingw
48_32\include\QtSql" -I"E:\Qt\5.1.1\mingw48_32\include\QtSql\5.1.1" -I"E:\Qt\5.1
.1\mingw48_32\include\QtSql\5.1.1\QtSql" -I"E:\Qt\5.1.1\mingw48_32\include\QtCor
e" -I"E:\Qt\5.1.1\mingw48_32\include\QtCore\5.1.1" -I"E:\Qt\5.1.1\mingw48_32\inc
lude\QtCore\5.1.1\QtCore" -I".moc\release_shared" -I"..\..\..\..\mkspecs\win32-g
++" -o .obj\release_shared\main.o main.cpp
E:\Qt\\5.1.1\mingw48_32\bin\moc.exe -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 -D__GNUC__ -DWIN32 -I. -I"C:\PROGRA~1\MYSQL\MYSQLS~1.5\INCLUDE" -I"E:\Qt\5.1
.1\mingw48_32\include" -I"E:\Qt\5.1.1\mingw48_32\include\QtSql" -I"E:\Qt\5.1.1\m
ingw48_32\include\QtSql\5.1.1" -I"E:\Qt\5.1.1\mingw48_32\include\QtSql\5.1.1\QtS
ql" -I"E:\Qt\5.1.1\mingw48_32\include\QtCore" -I"E:\Qt\5.1.1\mingw48_32\include\
QtCore\5.1.1" -I"E:\Qt\5.1.1\mingw48_32\include\QtCore\5.1.1\QtCore" -I".moc\rel
ease_shared" -I"..\..\..\..\mkspecs\win32-g++" ..\..\..\sql\drivers\mysql\qsql_m
ysql.cpp -o .moc\release_shared\qsql_mysql.moc
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++0x -fno-exceptions -frtti -W
all -Wextra -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCE
PTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -I"C:\PROGRA~1\M
YSQL\MYSQLS~1.5\INCLUDE" -I"E:\Qt\5.1.1\mingw48_32\include" -I"E:\Qt\5.1.1\mingw
48_32\include\QtSql" -I"E:\Qt\5.1.1\mingw48_32\include\QtSql\5.1.1" -I"E:\Qt\5.1
.1\mingw48_32\include\QtSql\5.1.1\QtSql" -I"E:\Qt\5.1.1\mingw48_32\include\QtCor
e" -I"E:\Qt\5.1.1\mingw48_32\include\QtCore\5.1.1" -I"E:\Qt\5.1.1\mingw48_32\inc
lude\QtCore\5.1.1\QtCore" -I".moc\release_shared" -I"..\..\..\..\mkspecs\win32-g
++" -o .obj\release_shared\qsql_mysql.o ..\..\..\sql\drivers\mysql\qsql_mysql.cp
p
E:\Qt\\5.1.1\mingw48_32\bin\moc.exe -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 -D__GNUC__ -DWIN32 -I. -I"C:\PROGRA~1\MYSQL\MYSQLS~1.5\INCLUDE" -I"E:\Qt\5.1
.1\mingw48_32\include" -I"E:\Qt\5.1.1\mingw48_32\include\QtSql" -I"E:\Qt\5.1.1\m
ingw48_32\include\QtSql\5.1.1" -I"E:\Qt\5.1.1\mingw48_32\include\QtSql\5.1.1\QtS
ql" -I"E:\Qt\5.1.1\mingw48_32\include\QtCore" -I"E:\Qt\5.1.1\mingw48_32\include\
QtCore\5.1.1" -I"E:\Qt\5.1.1\mingw48_32\include\QtCore\5.1.1\QtCore" -I".moc\rel
ease_shared" -I"..\..\..\..\mkspecs\win32-g++" ..\..\..\sql\drivers\mysql\qsql_m
ysql_p.h -o .moc\release_shared\moc_qsql_mysql_p.cpp
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++0x -fno-exceptions -frtti -W
all -Wextra -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCE
PTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -I"C:\PROGRA~1\M
YSQL\MYSQLS~1.5\INCLUDE" -I"E:\Qt\5.1.1\mingw48_32\include" -I"E:\Qt\5.1.1\mingw
48_32\include\QtSql" -I"E:\Qt\5.1.1\mingw48_32\include\QtSql\5.1.1" -I"E:\Qt\5.1
.1\mingw48_32\include\QtSql\5.1.1\QtSql" -I"E:\Qt\5.1.1\mingw48_32\include\QtCor
e" -I"E:\Qt\5.1.1\mingw48_32\include\QtCore\5.1.1" -I"E:\Qt\5.1.1\mingw48_32\inc
lude\QtCore\5.1.1\QtCore" -I".moc\release_shared" -I"..\..\..\..\mkspecs\win32-g
++" -o .obj\release_shared\moc_qsql_mysql_p.o .moc\release_shared\moc_qsql_mysql
_p.cpp
g++ -Wl,-s -shared -Wl,--out-implib,E:\Qt\5.1.1\Src\qtbase\plugins\sqldrivers\li
bqsqlmysql.a -o ..\..\..\..\plugins\sqldrivers\qsqlmysql.dll .obj/release_shared
/main.o .obj/release_shared/qsql_mysql.o .obj/release_shared/moc_qsql_mysql_p.o
C:\PROGRA~1\MYSQL\MYSQLS~1.5\LIB\LIBMYSQL.LIB -llibmysql -LE:\Qt\\5.1.1\mingw48
_32\lib -lQt5Sql -lQt5Core
e:/qt/tools/mingw48_32/bin/../lib/gcc/i686-w64-mingw32/4.8.0/../../../../i686-w6
4-mingw32/bin/ld.exe: cannot find -llibmysql
collect2.exe: error: ld returned 1 exit status
Makefile.Release:80: recipe for target '..\..\..\..\plugins\sqldrivers\qsqlmysql
.dll' failed
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysql.dll] Error 1
mingw32-make[1]: Leaving directory 'E:/Qt/5.1.1/Src/qtbase/src/plugins/sqldriver
s/mysql'
makefile:38: recipe for target 'release-all' failed
mingw32-make: *** [release-all] Error 2

E:\Qt\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql>mingw32 -make
"mingw32" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

E:\Qt\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql>mingw32-make
mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory 'E:/Qt/5.1.1/Src/qtbase/src/plugins/sqldrive
rs/mysql'
g++ -Wl,-s -shared -Wl,--out-implib,E:\Qt\5.1.1\Src\qtbase\plugins\sqldrivers\li
bqsqlmysql.a -o ..\..\..\..\plugins\sqldrivers\qsqlmysql.dll .obj/release_shared
/main.o .obj/release_shared/qsql_mysql.o .obj/release_shared/moc_qsql_mysql_p.o
C:\PROGRA~1\MYSQL\MYSQLS~1.5\LIB\LIBMYSQL.LIB -llibmysql -LE:\Qt\\5.1.1\mingw48
_32\lib -lQt5Sql -lQt5Core
e:/qt/tools/mingw48_32/bin/../lib/gcc/i686-w64-mingw32/4.8.0/../../../../i686-w6
4-mingw32/bin/ld.exe: cannot find -llibmysql
collect2.exe: error: ld returned 1 exit status
Makefile.Release:80: recipe for target '..\..\..\..\plugins\sqldrivers\qsqlmysql
.dll' failed
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysql.dll] Error 1
mingw32-make[1]: Leaving directory 'E:/Qt/5.1.1/Src/qtbase/src/plugins/sqldriver
s/mysql'
makefile:38: recipe for target 'release-all' failed
mingw32-make: *** [release-all] Error 2

E:\Qt\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql>



и в конце ошибка...уже в душе матюкнулся.


 Комментарий модератора 
Не стоит в сообщении выкладывать такие простыни текста, для этого есть спойлер, прячьте большой текст под него....
0
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
10.01.2014, 12:41 4
cannot find -llibmysql
Проверьте правильность пути в LIBS+=
Должно быть что-то типа:
C:\mysql-5.6.14-win32\lib
а не то что у вас
1
3 / 3 / 2
Регистрация: 29.06.2012
Сообщений: 118
10.01.2014, 13:10  [ТС] 5
Цитата Сообщение от RazrFalcon Посмотреть сообщение
Проверьте правильность пути в LIBS+=
Должно быть что-то типа:
а не то что у вас
Когда Вы мне пишите, то я наверное читаю Ваши мысли. Сам увидел ошибку. Прописывал libmysql.lib заглавными буквами. Не думал, что из-за регистра будет ошибка.
Файлы получил. Раскидал по директориям
\mingw48_32\plugins\sqldrivers
\mingw48_32\lib

но ошибка осталась.
Напишите мне и я прочитаю Ваши мысли
Что делать? Может теперь я проект не правильно собираю??
Заранее Вам благодарен.

Добавлено через 6 минут
Цитата Сообщение от RustamCTE Посмотреть сообщение
Когда Вы мне пишите, то я наверное читаю Ваши мысли. Сам увидел ошибку. Прописывал libmysql.lib заглавными буквами. Не думал, что из-за регистра будет ошибка.
Файлы получил. Раскидал по директориям
\mingw48_32\plugins\sqldrivers
\mingw48_32\lib

но ошибка осталась.
Напишите мне и я прочитаю Ваши мысли
Что делать? Может теперь я проект не правильно собираю??
Заранее Вам благодарен.
вот такая ошибка
Запускается E:\qt proecte\build-base3-Desktop_Qt_5_1_1_MinGW_32bit-Debug\debug\base3.exe...
QSqlDatabase: QMYSQL55 driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Failed to connect to root mysql admin
E:\qt proecte\build-base3-Desktop_Qt_5_1_1_MinGW_32bit-Debug\debug\base3.exe завершился с кодом 0
0
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
10.01.2014, 13:21 6
Почему вы пишете QMYSQL55 вместо QMYSQL?
1
3 / 3 / 2
Регистрация: 29.06.2012
Сообщений: 118
10.01.2014, 13:34  [ТС] 7
Цитата Сообщение от RazrFalcon Посмотреть сообщение
Почему вы пишете QMYSQL55 вместо QMYSQL?
Запускается E:\qt proecte\build-base3-Desktop_Qt_5_1_1_MinGW_32bit-Debug\debug\base3.exe...
OKKKKK!
E:\qt proecte\build-base3-Desktop_Qt_5_1_1_MinGW_32bit-Debug\debug\base3.exe завершился с кодом 0



Заработало. УРААААААААА!!!!!!!!!!
Много много фэнькью!!!!
У меня база называется MYSQL55, вот и писал.
Новичок я в Qt. Ещё не пробовал простые программы писать, а уже полез писать доступ к БД.
Ещё раз много много thank you!!! Хороший ты человек RazrFalcon!!!
0
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
10.01.2014, 13:39 8
Обращайтесь
2
3 / 3 / 2
Регистрация: 29.06.2012
Сообщений: 118
28.01.2014, 20:49  [ТС] 9
Ещё надо добавить libmysql.lib из папки %mysql%\lib\ в папку c:\windows\.
0
28.01.2014, 20:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2014, 20:49
Помогаю со студенческими работами здесь

Qt 5.4 не знаю как собрать плагин MySQL
Qt 5.4 msvc2013 64-bit, Windows 7. Выдаётся ошибка: QSqlDatabase: QMYSQL driver not loaded...

Как правильно собрать проект?
Здравствуйте. Помогите пожалуйста решить проблему. Как правильно собрать проект? Задаю вроде как...

как правильно собрать релиз?
господа! Подскажите плиз... разрабатываю в Visual Studio C# 2005 некое приложение по...

MAC и PC - Как правильно собрать!?
Всем привет. Периодически появляюсь на форуме, дабы люди дают действительно дельные советы. В...

Как правильно собрать DLL ?
У меня был проект консольного приложения. Потребовалось данное приложение преобразовать в DLL....

API Запрос как правильно собрать
и так мне нужно получить список коментов на странице через js Так выглядит говый апи запрос ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru