Skocz do zawartości

[c] Połączenie Z Bazą Mysql


lszk

Rekomendowane odpowiedzi

Mam sobie taki pliczek z kodem, ale on jest raczej dobry. Problem jest z czymś innym.

Kompiluje go komendą

gcc -I/usr/local/mysql/include/mysql mysql.c -L/usr/local/mysql/lib/mysql -lmysqlclient -o mysql

Nie wyskakują żadne błędy, ale podczas uruchamiania wyskakuje komunikat

./mysql: error while loading shared libraries: libmysqlclient.so.12: cannot open shared object file: No such file or directory

No i co zrobić w takim wypadku. Może w komendzie odpowiedzialnej za kompilacje trzeba jeszcze coś dodać?

Odnośnik do komentarza
Udostępnij na innych stronach

Gość _PaT
Mam sobie taki pliczek z kodem, ale on jest raczej dobry. Problem jest z czymś innym.

Hmm?

Kompiluje go komendą

gcc -I/usr/local/mysql/include/mysql mysql.c -L/usr/local/mysql/lib/mysql -lmysqlclient -o mysql

Trochę dziwną ścieżkę wybrałeś, dystrybucyjny MySQL siedzi w /usr/lib/mysql

[code./mysql: error while loading shared libraries: libmysqlclient.so.12: cannot open shared object file: No such file or directory

[/code]

A szukałeś tego pliku na dysku? U mnie jest tylko libmysqlclient.so.10 w folderze /usr/lib/mysql, u Ciebie pewnie będzie w tym dziwolągowatym /usr/local/mysql/lib/mysql. Znajdź odpowiedni plik (mam na myśli coś w stylu libmysqlclient.so) i zrób do niego dowiązanie sybloliczne o nazwie libmysqlclient.so.12 i umieść je w odpowiednim katalogu (czyli albo ten, do którego wrzucasz bilbioteki MySQL, albo do ogólnych bilbiotek dystrybucyjnych: /lib, /usr/lib).

Ma działać :D

Odnośnik do komentarza
Udostępnij na innych stronach

Kompiluje go komendą

gcc -I/usr/local/mysql/include/mysql mysql.c -L/usr/local/mysql/lib/mysql -lmysqlclient -o mysql

Trochę dziwną ścieżkę wybrałeś, dystrybucyjny MySQL siedzi w /usr/lib/mysql

Dystrybucyjny pewnie tak, ale ja mam kompilowanego ze źródeł mysql'a w /usr/local/mysql :P

[code./mysql: error while loading shared libraries: libmysqlclient.so.12: cannot open shared object file: No such file or directory

[/code]

A szukałeś tego pliku na dysku? U mnie jest tylko libmysqlclient.so.10 w folderze /usr/lib/mysql, u Ciebie pewnie będzie w tym dziwolągowatym /usr/local/mysql/lib/mysql. Znajdź odpowiedni plik (mam na myśli coś w stylu libmysqlclient.so) i zrób do niego dowiązanie sybloliczne o nazwie libmysqlclient.so.12 i umieść je w odpowiednim katalogu (czyli albo ten, do którego wrzucasz bilbioteki MySQL, albo do ogólnych bilbiotek dystrybucyjnych: /lib, /usr/lib).

No ja w tym katalogu mam dowiązania do

libmysqlclient.so

ibmysqlclient.so.12

ibmysqlclient.so.12.0.0

A nie mam do żadnego *.*.10, więc chyba powinno działać.

Ma działać :D

Ano wiem, że ma :D

 

[edit]

 

Właśnie zauważyłem, że ten plik *.*.12 jest dowiązaniem do *.*.12.0.0, więc może spróbować zrobić go z tego libmysqlclient'a <_<

Odnośnik do komentarza
Udostępnij na innych stronach

Gość _PaT

To w takim razie

zrób do niego dowiązanie symbloliczne o nazwie libmysqlclient.so.12 i umieść je w odpowiednim katalogu (/lib lub/i /usr/lib).

Ma działać !

 

[edit] Właśnie mi przyszło do głowy, że w zmiennych środowiskowych możesz wyeksportować sobie ścieżkę /usr/local/mysql/lib/mysql i też... ma działać!

Odnośnik do komentarza
Udostępnij na innych stronach

To w takim razie

zrób do niego dowiązanie symbloliczne o nazwie libmysqlclient.so.12 i umieść je w odpowiednim katalogu (/lib lub/i /usr/lib).

Ma działać !

No i działa ^_^:D

Dzięki.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...