С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
6 / 5 / 1
Регистрация: 06.09.2015
Сообщений: 176

Qt + консольная программа

16.01.2019, 12:07. Показов 1255. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал консольную программу, теперь хочу подключить ее к другой программе на QT, но столкнулся с тем, что в QT видимо как то по своему надо подключать mysql.
В общем в моем makefile следующее
C++
1
2
all: 
    g++ -o there are.cpp my.cpp files.cpp -I/usr/include/mysql++/lib/ -I/usr/include/mysql -lmysqlcppconn -lmysqlclient
Как подключить эту программу к Qt программе. Например я изменил main() на my_function() и вставил в QT в нужное место. Но подключить нужные хэйдеры никак не получается, то есть видимо все надо переписывать на QT? нельзя никак их просто скрестить?

Добавлено через 10 минут
QT widgets не консоль, а программа просто из консоли управлялась, хотя ее просто как функцию хочу использовать в qt
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.01.2019, 12:07
Ответы с готовыми решениями:

Консольная программа
Здравствуйте... Я уже немного научился программировать на C++ и тут наткнулся на консольную программу где был создан вот такой...

Консольная программа...
Здравствуйте! Прошу помочь с написанием консольной программы, которая вводит с консоли значения элементов двумерного массива целых чисел...

Не работает консольная программа
Здравствуйте! Пожалуйста помогите разобраться, после запуска программы и ввода данных, окно консольного приложения закрывается без вывода...

7
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
16.01.2019, 12:07
Не понял, вы одну программу хотите вызвать из другой программы или установить соединение с MySQL?

Что именно вы подразумеваете под "скрестить"? Какой результат то ожидаете?
Вообще, если у вас есть две программы и одну надо вызвать из другой, то можете посмотреть в сторону QProcess для запуска нового процесса и обмена данными с основным процессом через каналы ввода/вывода.
0
6 / 5 / 1
Регистрация: 06.09.2015
Сообщений: 176
16.01.2019, 12:16  [ТС]
Простите что передмудрил с вопросом, голова кругом просто. Подключить Mysql в QT нужно

библиотеки mysql++.h и mysql.h, Чтобы не менять команды PreparedStatement/execute/ executeQuery()

Я пытался добавить
C++
1
2
LIBS +="I/usr/include/mysql++/lib/"
       "I/usr/include/mysql"
0
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
16.01.2019, 12:23
Всмысле встроить в виде функции? Если это отдельная программа то вам нужен какой нибудь IPC для взаимодействия с ней.
Если же надо просто подключиться к MySQL используя библиотеки Qt, то вот вам пример из документации
http://doc.qt.io/qt-5/sql-connecting.html
0
6 / 5 / 1
Регистрация: 06.09.2015
Сообщений: 176
16.01.2019, 12:30  [ТС]
А нельзя ли подключить в виде сторонней библиотеки?

Добавлено через 2 минуты
Что то вроде этого
C++
1
2
3
LIBS +="/usr/include/mysql++/lib/"
QMAKE_CXXFLAGS+= -lmysqlcppconn
QMAKE_CXXFLAGS+= -lmysqlclient
0
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
16.01.2019, 12:33
Можно и так
Либо файлы подключать на этапе компиляции
Либо в виде динамической библиотеки (ищите как это делается на вашей платформе, если нужен именно такой вариант)
0
6 / 5 / 1
Регистрация: 06.09.2015
Сообщений: 176
16.01.2019, 12:44  [ТС]
ВЭ-СЭ-ЁО! Получилось. Если кому понадобится:
просто подключил в .pro файле строчку:
C++
1
INCLUDEPATH+=/usr/include/mysql LIBS+=-L/usr/lib/mysql I/usr/include/mysql++/lib/ -lmysqlclient -lmysqlcppconn
Скомпилировалось успешно, спасибо!

По-моему так легче сделать, чем изучать заново как подключаться к MySQL, особенно когда много функций вроде PreparedStatement уже стоят и переписывать все под QT не хочется. Возможно способ для ленивых кто не хочет переходить к QT полностью. Но все равно это легче.
Думаю это мне аукнется, когда встанет вопрос кроссплатформенности
0
6 / 5 / 1
Регистрация: 06.09.2015
Сообщений: 176
17.01.2019, 10:04  [ТС]
Еще одно, после того как поработал с программой, выходило много ошибок вроде multiple и все такое. Я добавил несколько строчек в .pro, которые решили проблему. Правда не уверен где что нужно убрать а что нет, поэтому скидываю то, что работает на данный момент:

C++
1
2
3
4
5
6
unix:!macx: LIBS += -L$$PWD/../../../../usr/lib/ -lmysqlclient -lmysqlcppconn
 
INCLUDEPATH += $$PWD/../../../../usr/include -lmysqlclient -lmysqlcppconn
DEPENDPATH += $$PWD/../../../../usr/include -lmysqlclient -lmysqlcppconn
INCLUDEPATH+=/usr/include/mysql LIBS+=-L/usr/lib/mysql I/usr/include/mysql++/lib/ -lmysqlclient -lmysqlcppconn
INCLUDEPATH+=/home/user/Desktop/prog_dir/prog_dir/ -lmysqlclient -lmysqlcppconn
Если кто-то мне объяснит что это все значит, то я буду рад. Но это работает, к счастью... пока что.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2019, 10:04
Помогаю со студенческими работами здесь

Консольная программа на ввод времени
Ввести с клавиатуры текущее время (часы минуты) в формате 1-12 и половину суток (a– с 0 до 12, p – с 12 до 0). Сделать проверку...

Почему не работает консольная программа.
Я написал простенькую консольную программку выдающую таблицу умножения. Но у моих друзей почему-то не открывается exe файл.Что я...

Консольная программа: секундомер с остановкой и перезапуском
Здарова господа! Интересно от есть допустим функция секундомер, при запуске в консоли работает цикл while и с задержкой выводится...

Консольная программа закрывается без причины
Консольная программа выводит на консоль текст, записывает текстовые файлы. Не доходит до конца программы, закрывается никаких ошибок не...

Консольная программа которая работает с двумя файлами
Добрый день, интересен вопрос как на С++ реализовать консольное приложение которое получает на вход программы(в виде параметров командной...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru