Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu?

  • 6 odgovora
  • 2.887 pregleda

Najnovija ↓

Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu? 05.07.2010. u 16:25 · pre 198 meseci #1
Ovo je kod programa:

Code:
//http://zetcode.com/tutorials/mysqlcapitutorial/
#include <my_global.h>
#include <mysql.h>

int main(int argc, char **argv)
{
  printf("MySQL client version: %s\n", mysql_get_client_info());
}


Sa gcc mi je radilo bez problema:

Code:
$ gcc /home/1mysqlc.c -o 1mysqlc  `mysql_config --cflags --libs`
$ ./1mysqlc
MySQL client version: 5.1.41


Dodao sam /usr/lib/mysqlclient.so i /usr/lib/mysqlclient_r.so u link libraries (Project -> Build options -> Linker settings na Code::Blocks-u) a i dalje mi se pri kompilaciji javljaju greške:

Code:
/home/Mysqlc/main.c|1|error: my_global.h: No such file or directory|
/homeMysqlc/main.c|2|error: mysql.h: No such file or directory|
/home/Mysqlc/main.c||In function ‘main’:|
/home/Mysqlc/main.c|6|warning: implicit declaration of function ‘printf’|
/home/Mysqlc/main.c|6|warning: incompatible implicit declaration of built-in function ‘printf’|
/home/Mysqlc/main.c|6|warning: implicit declaration of function ‘mysql_get_client_info’|
/home/Mysqlc/main.c|6|warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’|
/home/Mysqlc/main.c|7|warning: control reaches end of non-void function|
||=== Build finished: 2 errors, 5 warnings ===|


Koristim Code::Blocks na Linuxu. Kako da ga podesim?

Ovo je izlaz komande 'mysql_config --cflags --libs':

Code:
$ mysql_config --cflags --libs
-I/usr/include/mysql  -DBIG_JOINS=1  -fno-strict-aliasing   -DUNIV_LINUX -DUNIV_LINUX
-Wl,-Bsymbolic-functions -rdynamic -L/usr/lib/mysql -lmysqlclient
Re: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu? 05.07.2010. u 16:40 · pre 198 meseci #2
Tebi nisu problem biblioteke nego hederi:

Code:
/home/Mysqlc/main.c|1|error: my_global.h: No such file or directory|
/homeMysqlc/main.c|2|error: mysql.h: No such file or directory|


Ne koristim Code::Blocks, ali bi trebalo negde u okruženju projekta da podesiš i PATH za include fajlove. Pretpostavljam da ti fali direktiva -I/usr/include/mysql ako su ti tamo my_global.h i mysql.h
Re: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu? 05.07.2010. u 22:39 · pre 198 meseci #5
Bibliotečke fajlove ne treba da dodaješ u projekat. Dakle,

Project -> Build Settings... -> Search Directories -> Compiler -> Add, pa onda ubaci putanju do direltorijuma sa hederima. U tvom slučaju, to je

/usr/include/mysql

tj. ono što imaš u -I direktivi kompajleru.

Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Re: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu? 05.07.2010. u 22:45 · pre 198 meseci #6
Trebaće i da ubaciš zamenu za -L direktivu.

Project -> Build Settings... -> Search Directories -> Linker -> Add, pa onda ubaci putanju do direktorijuma sa libovima. U tvom slučaju, to je

/usr/lib/mysql

Osim toga, treba ubaciti i zamenu za -l direktivu. Najjednostavnije ti je da je prepišeš u polje "Other Linker Options".
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme