Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

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

[es] :: C/C++ programiranje :: C/C++ za početnike :: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu?

[ Pregleda: 1996 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sini82

Član broj: 234605
Poruke: 479
91.191.9.*

Jabber: Sini82@elitesecurity.org


+33 Profil

icon Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu?05.07.2010. u 15:25 - pre 168 meseci
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
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu?05.07.2010. u 15:40 - pre 168 meseci
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
 
Odgovor na temu

Sini82

Član broj: 234605
Poruke: 479
91.191.9.*

Jabber: Sini82@elitesecurity.org


+33 Profil

icon Re: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu?05.07.2010. u 15:58 - pre 168 meseci
Išao sam na Project -> Add files to project i dodao oba header fajla /usr/include/mysql/my_global.h, /usr/include/mysql/my_global.h. I dalje mi javlja istu grešku. Ako treba dodati tu direktivu, ne znam gdje i kako da je dodam.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu?05.07.2010. u 21:26 - pre 168 meseci
Hm, a kako ja da znam kad ne koristim taj IDE.

Odem na njegov help page i pogledam poglavlje 1.11.6 Extended settings for compilers

Tamo treba da dodaš sve one pretkompajlerske i link direktive koje inače gcc-u ubaciš komandom
mysql_config --cflags --libs
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
212.200.65.*



+2790 Profil

icon Re: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu?05.07.2010. u 21:39 - pre 168 meseci
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.


Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
212.200.65.*



+2790 Profil

icon Re: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu?05.07.2010. u 21:45 - pre 168 meseci
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".
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Sini82

Član broj: 234605
Poruke: 479
91.191.9.*

Jabber: Sini82@elitesecurity.org


+33 Profil

icon Re: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu?05.07.2010. u 22:15 - pre 168 meseci
Svaka čast! Hvala Nedeljko, puno si mi pomogao.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Kako da podesim Code::Blocks da mi uspješno kompajlira MySQL C API program na Linuxu?

[ Pregleda: 1996 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.