|
|
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
Третий день бьюсь над проблемой : как же мне работать из приложения 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 Пытаюсь написать простенький сервер для записи данных от клиентов игры . Надеюсь не нарушил никаких правил форума и сильно надеюсь на вашу помощь, уже все лицо разбил в кровь об клавиатуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 01:28:20 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
Слегка неправильно написал не visual studio 2015 / c++, а visual studio 2015 c++ Пытаюсь сделать консольное приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 01:44:14 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
tony_noma, авторкак скомпилировать библиотеку Ctrl+Shift+B ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 01:52:15 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
Relic Hunter, Понимаю возможное негодование с вашей стороны, однако ... Вот скачал я исходники и имею кучу всего папку driver с кучей заголовочных файлов и исходных кодов имею папку cppcon с другим набором тех же файлов и некий файл config.h.cm имею папку thread с другим набором тех же файлов. Так у меня и возникают вопросы что куда пихать? где что настраивать? и как из этого получить библиотеку ? походу стебетесь там с меня не слабо =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 02:07:07 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
каким-то колдунством допер и накидал файлы из папки 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 Пробовал кидать во все папки проекта и ничего. Черная магия о.о ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 04:26:50 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
tony_nomaкаким-то колдунством допер и накидал файлы из папки driver в проект, .h в заголовочные .cpp в исходные. бьет ошибки : .... Пробовал кидать во все папки проекта и ничего. Черная магия о.о Бубен не помогает. Нужно учить матчасть - как происходит поиск заголовков, библиотек, что такое makefile итп. Просто так перенести на новую версию компилятора может вообще не получиться без изменения кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 10:02:00 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
tony_nomaна сайте заметил такую надпись Фигня эта надпись. Проблема может возникнуть разве что при попытке статической линковки. Тебе же достаточно использовать libmysql.dll так же как и любую другую DLL. Вылазь уже из раковины и изучай линковку. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 11:11:47 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
>_< Без учебы - никуда. Можете посоветовать хорошее издание, где можно познакомить с этими азами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 12:22:29 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
tony_noma, любой учебник по с или с++. Павловская или Дейтелы. при этом не надолго читать Всё, может только главу о сборке. makefile не изучай, это прошлый век, учи CMake, qmake... Это правда не С, это средства сборки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 12:32:09 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
MasterZiv, у меня возник вопрос, если кому-то нужно работать с базой данных из с++, то должны же быть готовые решения, или каждый для себя пишет и собирает библиотеки ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 12:37:19 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
tony_nomaдолжны же быть готовые решения libmysql.h + libmysql.dll это и есть готовое решение. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 13:11:33 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, libmysql.dll - это понятно что поставляется вместе с сервером и найти не составляет труда, а вот где искать libmysql.h не имею ни малейшего понятия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 14:11:33 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
tony_nomaгде искать libmysql.h не имею ни малейшего понятия Там же. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 14:16:35 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovtony_nomaгде искать libmysql.h не имею ни малейшего понятия Там же. Такого заголовочника там нету =( Возможно мне надо установить какое-то расширенное издание ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 14:21:43 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
Проблема решена libmysql.lib + mysql.h все отлично компилируеться. Оба файла поставляются с сервером. Тема закрыта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 15:21:10 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
tony_nomaMasterZiv, у меня возник вопрос, если кому-то нужно работать с базой данных из с++, то должны же быть готовые решения, или каждый для себя пишет и собирает библиотеки ? нет, не пишет. либо для MySQL все есть собранные, только под какую студию - не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 15:52:19 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
MasterZivmakefile не изучай, это прошлый век, учи CMake, qmake... Это правда не С, это средства сборки.MasterZiv, я тебя зарежу и меня оправдают. Чтобы понять CMake и qmake надо знать makefile. А если человек сидит на ИДЕ типа VS/Builder то ни один из внешних сценарников ему не нужен. tony_noma, сначала научись запускать компиляторы-линкеры из командной строки. Потом будешь браться за средства автоматизации. И пойдешь от простого к навороченному и финтифлюшечному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 16:02:42 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
White Owltony_noma, сначала научись запускать компиляторы-линкеры из командной строки. Потом будешь браться за средства автоматизации. И пойдешь от простого к навороченному и финтифлюшечному.и начни с программирования калькулятора МК-61 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 16:28:01 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
egorychи начни с программирования калькулятора МК-61 Не повредит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 17:47:13 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
White Owlegorychи начни с программирования калькулятора МК-61 Не повредит. 0_0 Такой аппаратик у моего отца где то валялся, однако все-таки это потерянное время. как ни крути а математика проще машинной логики и если у человека технический ум то - это потерянное время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 21:28:08 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
quot White Owl]MasterZivmakefile не изучай, это прошлый век, учи CMake, qmake... Это правда не С, это средства сборки.MasterZiv, я тебя зарежу и меня оправдают. Чтобы понять CMake и qmake надо знать makefile. глубокое заблуждение. я сколько лет живу, make file так и не понял :-) А если человек сидит на ИДЕ типа VS/Builder то ни один из внешних сценарников ему не нужен. тоже заблуждение. tony_noma, сначала научись запускать компиляторы-линкеры из командной строки. Потом будешь браться за средства автоматизации. это хороший совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 21:31:51 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
tony_nomaWhite Owlпропущено... Не повредит. 0_0 Такой аппаратик у моего отца где то валялся, однако все-таки это потерянное время. как ни крути а математика проще машинной логики и если у человека технический ум то - это потерянное время.Потерянное время, это спорить с знающими и опытными людьми. Да и вообще, когда человек говорит что он не хочет терять время на изучение чего-либо это всегда признак не очень умного человека. А опыт программирования МК-61 даст тебе умение ориентироваться в стековой логике и хранить данные и код в ограниченных объемах. Математики там исчезающе малые доли процента, а вот машинной логики, причем настоящей машинной логики чрезвычайно много. Особенно при погружении в еггогологию и попытках понять ее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 22:55:53 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
Ну учиться и изучать никто не отказывается но при современных объемах и на данный момент мне такое не требуется. Вот с компиляторами и линковщиками познакомиться не помешает. Слегка попозже поучусь работать со стеком но сейчас мне нужно углубиться в с++ и ооп. А под потерей времени я подразумевал что то вроде : "а программируй ка лучше на перфокартах. Хоть поймешь как машины и логика работают" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 23:42:28 |
|
||
|
Компиляция MySQL connector C++ из исходников
|
|||
|---|---|---|---|
|
#18+
tony_nomaНу учиться и изучать никто не отказывается но при современных объемах и на данный момент мне такое не требуется. Вот с компиляторами и линковщиками познакомиться не помешает. Слегка попозже поучусь работать со стеком но сейчас мне нужно углубиться в с++ и ооп.И как ты собираешься это делать без понимания стека? tony_nomaА под потерей времени я подразумевал что то вроде : "а программируй ка лучше на перфокартах. Хоть поймешь как машины и логика работают"Ну и зря ты так думаешь. Перфокарты тоже не повредит пощупать. Жаль только это сейчас практически не реально, но это тоже очень хорошая тренировка для мозгов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 23:50:15 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39034094&tid=2018864]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
101ms |
get topic data: |
19ms |
get forum data: |
4ms |
get page messages: |
107ms |
get tp. blocked users: |
3ms |
| others: | 243ms |
| total: | 521ms |

| 0 / 0 |
