Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Компиляция MySQL connector C++ из исходников / 25 сообщений из 29, страница 1 из 2
21.08.2015, 01:28:20
    #39033583
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
Третий день бьюсь над проблемой : как же мне работать из приложения c++ с бд MySQL. Нашёл на их сайте коннектор, однако не могу его использовать. Как я понял это потому что он компилировался в VS 2010. Там же на сайте заметил такую надпись
One problem that can occur is when the tools you use to build your application are not compatible with the tools used to build the binary versions of MySQL Connector/C++. Ideally, you need to build your application with the same tools that were used to build the MySQL Connector/C++ binaries.

Как я понял мне необходимо самому собрать библиотеку в своей vs для своей системы но как это сделать не имею ни малейшего понятия. Перерыл кучу форумов и так и не нашёл решения проблемы, то вылетают странные ошибки в виде невозможности подключить iostream.h хотя в коде все нормально, то вообще у компилятора случается батхерт и он лупит мне 3-4 сотни ошибок в виде незакрытых фигурных скобок и прочей мелкой ерунды, хотя все ошибки в исходниках. Сильно сомневаюсь что я первый кому понадобилось работать с MySQL из приложения C++.
Итак, если вас не затруднит, не могли бы вы объяснить мне как скомпилировать библиотеку из исходников, чтобы собрать программу, выполняющую простейший пример ... ну скажем вот этот :
#include "stdafx.h"
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include<mysql.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
MYSQL *conn;
// Получаем дескриптор соединения
conn = mysql_init(NULL);
if(conn == NULL)
{
// Если дескриптор не получен – выводим сообщение об ошибке
fprintf(stderr, "Error: can'tcreate MySQL-descriptor\n");
//exit(1); //Если используется оконное приложение
}
// Подключаемся к серверу
if(!mysql_real_connect(conn, "localhost", "root", "root", "test", NULL, NULL, 0))
{
// Если нет возможности установить соединение с сервером
// базы данных выводим сообщение об ошибке
fprintf(stderr, "Error: can'tconnecttodatabase %s\n", mysql_error(conn));
}
else
{
// Если соединение успешно установлено выводим фразу - "Success!"
fprintf(stdout, "Success!\n");
}
// Закрываем соединение с сервером базы данных
mysql_close(conn);

system("Pause");
return 0;
}


P.S. В компиляции и линковке мой ум примерно на стадии моллюска, но в программировании понимаю основы и очень хочу развиваться дальше.
Пользуюсь, ну или пытаюсь пользоваться (скорее второе =) ) Visual Studio 2015 / C++ / MySQL 5.5
Пытаюсь написать простенький сервер для записи данных от клиентов игры . Надеюсь не нарушил никаких правил форума и сильно надеюсь на вашу помощь, уже все лицо разбил в кровь об клавиатуру.
...
Рейтинг: 0 / 0
21.08.2015, 01:44:14
    #39033584
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
Слегка неправильно написал не visual studio 2015 / c++, а visual studio 2015 c++
Пытаюсь сделать консольное приложение.
...
Рейтинг: 0 / 0
21.08.2015, 01:52:15
    #39033586
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
tony_noma,

авторкак скомпилировать библиотеку Ctrl+Shift+B
...
Рейтинг: 0 / 0
21.08.2015, 02:07:07
    #39033588
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
Relic Hunter,
Понимаю возможное негодование с вашей стороны, однако ...
Вот скачал я исходники и имею кучу всего
папку driver с кучей заголовочных файлов и исходных кодов
имею папку cppcon с другим набором тех же файлов и некий файл config.h.cm
имею папку thread с другим набором тех же файлов. Так у меня и возникают вопросы что куда пихать? где что настраивать? и как из этого получить библиотеку ?

походу стебетесь там с меня не слабо =)
...
Рейтинг: 0 / 0
21.08.2015, 04:26:50
    #39033595
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
каким-то колдунством допер и накидал файлы из папки driver в проект, .h в заголовочные .cpp в исходные. бьет ошибки :
1>------ Сборка начата: проект: Проект1, Конфигурация: Release x64 ------
1> mysql_art_resultset.cpp
1>f:\zoracon\server\проект1\проект1\mysql_util.h(33): fatal error C1083: Не удается открыть файл включение: boost/shared_ptr.hpp: No such file or directory
1> mysql_art_rset_metadata.cpp
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt\stdio.h(1925): warning C4005: snprintf: изменение макроопределения
1> f:\zoracon\server\проект1\проект1\nativeapi/mysql_private_iface.h(48): note: см. предыдущее определение "snprintf"
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt\stdio.h(1927): fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration
1> mysql_connection.cpp
1>mysql_connection.cpp(27): fatal error C1083: Не удается открыть файл включение: boost/scoped_ptr.hpp: No such file or directory
1> mysql_debug.cpp
1>f:\zoracon\server\проект1\проект1\mysql_debug.h(30): fatal error C1083: Не удается открыть файл включение: boost/shared_ptr.hpp: No such file or directory
1> mysql_driver.cpp
1>c:\visual stuido 2015\vc\include\cppconn\sqlstring.h(39): warning C4251: sql::SQLString::realStr: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами class "sql::SQLString"
1>c:\visual stuido 2015\vc\include\cppconn\exception.h(61): warning C4251: sql::SQLException::sql_state: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами class "sql::SQLException"
1>c:\visual stuido 2015\vc\include\cppconn\exception.h(145): warning C4251: sql::SQLUnsupportedOptionException::option: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами struct "sql::SQLUnsupportedOptionException"
1>f:\zoracon\server\проект1\проект1\mysql_connection.h(31): fatal error C1083: Не удается открыть файл включение: boost/shared_ptr.hpp: No such file or directory
1> mysql_metadata.cpp
1>mysql_metadata.cpp(32): fatal error C1083: Не удается открыть файл включение: boost/scoped_ptr.hpp: No such file or directory
1> mysql_parameter_metadata.cpp
1>f:\zoracon\server\проект1\проект1\mysql_parameter_metadata.h(30): fatal error C1083: Не удается открыть файл включение: boost/shared_ptr.hpp: No such file or directory
1> mysql_prepared_statement.cpp
1>mysql_prepared_statement.cpp(32): fatal error C1083: Не удается открыть файл включение: boost/variant.hpp: No such file or directory
1> mysql_ps_resultset.cpp
1>mysql_ps_resultset.cpp(32): fatal error C1083: Не удается открыть файл включение: boost/scoped_array.hpp: No such file or directory
1> mysql_ps_resultset_metadata.cpp
1>C:\Visual Stuido 2015\VC\include\cppconn/exception.h(61): warning C4251: sql::SQLException::sql_state: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами class "sql::SQLException"
1>C:\Visual Stuido 2015\VC\include\cppconn/exception.h(145): warning C4251: sql::SQLUnsupportedOptionException::option: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами struct "sql::SQLUnsupportedOptionException"
1>f:\zoracon\server\проект1\проект1\mysql_util.h(33): fatal error C1083: Не удается открыть файл включение: boost/shared_ptr.hpp: No such file or directory
1> mysql_resultbind.cpp
1>C:\Visual Stuido 2015\VC\include\cppconn/exception.h(61): warning C4251: sql::SQLException::sql_state: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами class "sql::SQLException"
1>C:\Visual Stuido 2015\VC\include\cppconn/exception.h(145): warning C4251: sql::SQLUnsupportedOptionException::option: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами struct "sql::SQLUnsupportedOptionException"
1>f:\zoracon\server\проект1\проект1\mysql_util.h(33): fatal error C1083: Не удается открыть файл включение: boost/shared_ptr.hpp: No such file or directory
1> mysql_resultset.cpp
1>mysql_resultset.cpp(32): fatal error C1083: Не удается открыть файл включение: boost/scoped_array.hpp: No such file or directory
1> mysql_resultset_metadata.cpp
1>mysql_resultset_metadata.cpp(34): fatal error C1083: Не удается открыть файл включение: boost/shared_ptr.hpp: No such file or directory
1> mysql_statement.cpp
1>f:\zoracon\server\проект1\проект1\mysql_util.h(33): fatal error C1083: Не удается открыть файл включение: boost/shared_ptr.hpp: No such file or directory
1> mysql_uri.cpp
1>f:\zoracon\server\проект1\проект1\nativeapi/native_connection_wrapper.h(30): fatal error C1083: Не удается открыть файл включение: boost/noncopyable.hpp: No such file or directory
1> mysql_util.cpp
1>C:\Visual Stuido 2015\VC\include\cppconn/exception.h(61): warning C4251: sql::SQLException::sql_state: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами class "sql::SQLException"
1>C:\Visual Stuido 2015\VC\include\cppconn/exception.h(145): warning C4251: sql::SQLUnsupportedOptionException::option: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами struct "sql::SQLUnsupportedOptionException"
1>f:\zoracon\server\проект1\проект1\mysql_util.h(33): fatal error C1083: Не удается открыть файл включение: boost/shared_ptr.hpp: No such file or directory
1> mysql_warning.cpp
1>c:\visual stuido 2015\vc\include\cppconn\sqlstring.h(39): warning C4251: sql::SQLString::realStr: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами class "sql::SQLString"
1>c:\visual stuido 2015\vc\include\cppconn\exception.h(61): warning C4251: sql::SQLException::sql_state: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами class "sql::SQLException"
1>c:\visual stuido 2015\vc\include\cppconn\exception.h(145): warning C4251: sql::SQLUnsupportedOptionException::option: class "std::basic_string<char,std::char_traits<char>,std::allocator<char>>" должен иметь dll-интерфейс для использования клиентами struct "sql::SQLUnsupportedOptionException"
1>f:\zoracon\server\проект1\проект1\mysql_connection.h(31): fatal error C1083: Не удается открыть файл включение: boost/shared_ptr.hpp: No such file or directory


думаю это решается подключением файлов Boost, однако, скачал boost 1.59.0, разархивировал, нашёл там папку boot, в которой лежат те самые заголовочники. файлы в драйвере подключаються через #include <...> ну хорошо подумал я, на надо мудрить, кинул туда, где уж точно будет искать. В system32 и ничего, проверил переменную
path=C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Universal Extractor;C:\Program Files (x86)\Universal Extractor\bin;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\GTK2-Runtime\lib;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Skype\Phone\;%USERPROFILE%\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Java\jre7\bin
Пробовал кидать во все папки проекта и ничего. Черная магия о.о
...
Рейтинг: 0 / 0
21.08.2015, 10:02:00
    #39033690
Зимаргл
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
tony_nomaкаким-то колдунством допер и накидал файлы из папки driver в проект, .h в заголовочные .cpp в исходные. бьет ошибки :
....
Пробовал кидать во все папки проекта и ничего. Черная магия о.о
Бубен не помогает. Нужно учить матчасть - как происходит поиск заголовков, библиотек, что такое makefile итп.

Просто так перенести на новую версию компилятора может вообще не получиться без изменения кода.
...
Рейтинг: 0 / 0
21.08.2015, 11:11:47
    #39033756
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
tony_nomaна сайте заметил такую надпись
Фигня эта надпись. Проблема может возникнуть разве что при попытке статической линковки.
Тебе же достаточно использовать libmysql.dll так же как и любую другую DLL. Вылазь уже из
раковины и изучай линковку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.08.2015, 12:22:29
    #39033851
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
>_<
Без учебы - никуда. Можете посоветовать хорошее издание, где можно познакомить с этими азами?
...
Рейтинг: 0 / 0
21.08.2015, 12:32:09
    #39033860
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
tony_noma,
любой учебник по с или с++.

Павловская или Дейтелы.
при этом не надолго читать Всё, может только главу о сборке.

makefile не изучай, это прошлый век, учи CMake, qmake... Это правда не С, это средства сборки.
...
Рейтинг: 0 / 0
21.08.2015, 12:37:19
    #39033865
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
MasterZiv, у меня возник вопрос, если кому-то нужно работать с базой данных из с++, то должны же быть готовые решения, или каждый для себя пишет и собирает библиотеки ?
...
Рейтинг: 0 / 0
21.08.2015, 13:11:33
    #39033904
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
tony_nomaдолжны же быть готовые решения
libmysql.h + libmysql.dll это и есть готовое решение.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.08.2015, 14:11:33
    #39033980
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
Dimitry Sibiryakov,
libmysql.dll - это понятно что поставляется вместе с сервером и найти не составляет труда, а вот где искать libmysql.h не имею ни малейшего понятия.
...
Рейтинг: 0 / 0
21.08.2015, 14:16:35
    #39033988
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
tony_nomaгде искать libmysql.h не имею ни малейшего понятия
Там же.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.08.2015, 14:21:43
    #39033991
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
Dimitry Sibiryakovtony_nomaгде искать libmysql.h не имею ни малейшего понятия
Там же.

Такого заголовочника там нету =(
Возможно мне надо установить какое-то расширенное издание ?
...
Рейтинг: 0 / 0
21.08.2015, 15:21:10
    #39034057
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
Проблема решена libmysql.lib + mysql.h
все отлично компилируеться. Оба файла поставляются с сервером. Тема закрыта
...
Рейтинг: 0 / 0
21.08.2015, 15:52:19
    #39034086
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
tony_nomaMasterZiv, у меня возник вопрос, если кому-то нужно работать с базой данных из с++, то должны же быть готовые решения, или каждый для себя пишет и собирает библиотеки ?


нет, не пишет. либо для MySQL все есть собранные, только под какую студию - не знаю.
...
Рейтинг: 0 / 0
21.08.2015, 16:02:42
    #39034094
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
MasterZivmakefile не изучай, это прошлый век, учи CMake, qmake... Это правда не С, это средства сборки.MasterZiv, я тебя зарежу и меня оправдают. Чтобы понять CMake и qmake надо знать makefile.

А если человек сидит на ИДЕ типа VS/Builder то ни один из внешних сценарников ему не нужен.

tony_noma, сначала научись запускать компиляторы-линкеры из командной строки. Потом будешь браться за средства автоматизации. И пойдешь от простого к навороченному и финтифлюшечному.
...
Рейтинг: 0 / 0
21.08.2015, 16:28:01
    #39034114
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
White Owltony_noma, сначала научись запускать компиляторы-линкеры из командной строки. Потом будешь браться за средства автоматизации. И пойдешь от простого к навороченному и финтифлюшечному.и начни с программирования калькулятора МК-61
...
Рейтинг: 0 / 0
21.08.2015, 17:47:13
    #39034168
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
egorychи начни с программирования калькулятора МК-61 Не повредит.
...
Рейтинг: 0 / 0
21.08.2015, 21:28:08
    #39034252
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
White Owlegorychи начни с программирования калькулятора МК-61 Не повредит.
0_0
Такой аппаратик у моего отца где то валялся, однако все-таки это потерянное время. как ни крути а математика проще машинной логики и если у человека технический ум то - это потерянное время.
...
Рейтинг: 0 / 0
21.08.2015, 21:31:51
    #39034254
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
quot White Owl]MasterZivmakefile не изучай, это прошлый век, учи CMake, qmake... Это правда не С, это средства сборки.MasterZiv, я тебя зарежу и меня оправдают. Чтобы понять CMake и qmake надо знать makefile.

глубокое заблуждение.
я сколько лет живу, make file так и не понял :-)

А если человек сидит на ИДЕ типа VS/Builder то ни один из внешних сценарников ему не нужен.

тоже заблуждение.


tony_noma, сначала научись запускать компиляторы-линкеры из командной строки. Потом будешь браться за средства автоматизации.

это хороший совет.
...
Рейтинг: 0 / 0
21.08.2015, 22:55:53
    #39034281
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
tony_nomaWhite Owlпропущено...
Не повредит.
0_0
Такой аппаратик у моего отца где то валялся, однако все-таки это потерянное время. как ни крути а математика проще машинной логики и если у человека технический ум то - это потерянное время.Потерянное время, это спорить с знающими и опытными людьми. Да и вообще, когда человек говорит что он не хочет терять время на изучение чего-либо это всегда признак не очень умного человека.

А опыт программирования МК-61 даст тебе умение ориентироваться в стековой логике и хранить данные и код в ограниченных объемах.
Математики там исчезающе малые доли процента, а вот машинной логики, причем настоящей машинной логики чрезвычайно много. Особенно при погружении в еггогологию и попытках понять ее.
...
Рейтинг: 0 / 0
21.08.2015, 23:42:28
    #39034286
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
Ну учиться и изучать никто не отказывается но при современных объемах и на данный момент мне такое не требуется. Вот с компиляторами и линковщиками познакомиться не помешает. Слегка попозже поучусь работать со стеком но сейчас мне нужно углубиться в с++ и ооп.
А под потерей времени я подразумевал что то вроде : "а программируй ка лучше на перфокартах. Хоть поймешь как машины и логика работают"
...
Рейтинг: 0 / 0
21.08.2015, 23:50:15
    #39034287
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
tony_nomaНу учиться и изучать никто не отказывается но при современных объемах и на данный момент мне такое не требуется. Вот с компиляторами и линковщиками познакомиться не помешает. Слегка попозже поучусь работать со стеком но сейчас мне нужно углубиться в с++ и ооп.И как ты собираешься это делать без понимания стека?

tony_nomaА под потерей времени я подразумевал что то вроде : "а программируй ка лучше на перфокартах. Хоть поймешь как машины и логика работают"Ну и зря ты так думаешь. Перфокарты тоже не повредит пощупать. Жаль только это сейчас практически не реально, но это тоже очень хорошая тренировка для мозгов.
...
Рейтинг: 0 / 0
21.08.2015, 23:56:50
    #39034288
tony_noma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Компиляция MySQL connector C++ из исходников
У меня почему то такое впечатление что вам заняться нечем и вы хотите все попробовать. Может изучите связь в нейронной сетке головного мозга ? Хорошая тренировочка.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Компиляция MySQL connector C++ из исходников / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]