kubek3898 Temat założony przez niniejszego użytkownika |
Połączenie się z bazą danych, prośba o pomoc » 2013-03-09 14:37:23 Wpadłem na pomysł, by zrobić ciekawą grę, może i konsolową, ale to nie jest w tej chwili ważne ;). Ważne jest to, że zamiast zapisu do pliku itp, itd. postanowiłem zapisywać dane w bazie MySQL (szybkość, prostota zapisu etc.), znalazłem więc taki kod na połączenie z bazą:
#include <mysql.h> #include <stdio.h>
int main() { MYSQL mysql; MYSQL_ROW row; MYSQL_RES * result; unsigned int num_fields; unsigned int i; mysql_init( & mysql ); if( !mysql_real_connect( & mysql, "localhost", "root", "", "MyDatabase", 0, NULL, 0 ) ) { fprintf( stderr, "Failed to connect to database: Error: %s\n", mysql_error( & mysql ) ); } else { if( mysql_query( & mysql, "SELECT * FROM my_table" ) ); else { result = mysql_store_result( & mysql ); num_fields = mysql_num_fields( result ); while(( row = mysql_fetch_row( result ) ) ) { unsigned long * lengths; lengths = mysql_fetch_lengths( result ); for( i = 0; i < num_fields; i++ ) { printf( "[%.*s] \t",( int ) lengths[ i ], row[ i ] ? row[ i ] : "NULL" ); } printf( "\n" ); } } } return 0; }
Po kompilacji wyskoczyły mi błędy, że jakiś SOCKET jest niezdefiniowany, a dokładniej:
268 3 d:\programy\dev-cpp\mingw32\include\mysql_com.h [Error] 'SOCKET' does not name a type
poczytałem gdzieś, że trzeba dodać bibliotekę windows.h, więc ją dodałem, to wyskoczyły mi następujące errory:
[Linker error] main.cpp:213: undefined reference to `mysql_init@4'
[Linker error] main.cpp:229: undefined reference to `mysql_fetch_lengths@4'
Jest tego więcej ale wszystkie podobne. Proszę o pomoc jak to rozwiązać i nie pisanie postów w stylu: "Nie opłaca się połączać z MySQL".
Pozdrawiam.
@edit
Dodałem do opcji linkera wpis: -lmysql i teraz wyrzuca błędy:
resolving _mysql_init@4 by linking to _mysql_init
resolving _mysql_real_connect@32 by linking to _mysql_real_connect
Również jest tego więcej, jak w/w |
|
DejaVu |
» 2013-03-09 15:36:02 |
|
kubek3898 Temat założony przez niniejszego użytkownika |
» 2013-03-09 16:43:43 Gdy dodam -lmysqlclient do linkera wyrzuca:
.drectve `/DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
i tak jakieś 500 razy ;x |
|
DejaVu |
» 2013-03-09 18:14:52 może po prostu nie masz pliku lib odpowiedniego dla swojego kompilatora... |
|
kubek3898 Temat założony przez niniejszego użytkownika |
» 2013-03-30 17:16:16 Odświeżam... znów muszę wykorzystać MySQL do mojego projektu. Przy takim kodzie: #include <iostream> #include <windows.h> #include <mysql.h>
using namespace std;
int main() { MYSQL * mysql; mysql_real_connect( mysql, "195...", "root", "Haslo", "Test", 0, NULL, 0 ); return 0; }
wyrzuca: [Linker error] undefined reference to `mysql_real_connect@32' do linker kolejno dodane: -lmysql -lmysqlclient |
|
kubek3898 Temat założony przez niniejszego użytkownika |
» 2013-04-01 20:37:34 @refresh
Potrzebuję Waszej pomocy! :D
|
|
« 1 » |