PDA

Просмотр полной версии : c++ и mysql


malik555
26.06.2009, 19:19
Всем привет !

Нашел статью http://netsago.org/ru/notes/2008/8/

где подробно описывается как работать с mysql в с++

выполнил все действия как написанно - установил либу mysql++ все установилось без проблем в папку

/usr/local/include

в скрипте прописую


#include <fstream.h>
#include <mysql++.h>
using namespace std;
using namespace mysqlpp;


а скрипт не видит модуль mysql++

test.cpp:21:21: error: mysql++.h: No such file or directory
test.cpp:23: error: 'mysqlpp' is not a namespace-name
test.cpp:23: error: expected namespace-name before ';' token


а почему ведь все установлено ?

Как решить проблему ?

сервер freeBSD

zythar
26.06.2009, 19:46
хедеры из /usr/local/include перемести в /usr/include

malik555
26.06.2009, 20:04
хедеры из /usr/local/include перемести в /usr/include


Да перемещал не помогает !

Вот нащел как нужно кампилить правельно с mysql++

http://tangentsoft.net/mysql++/doc/html/userman/incorporating.html#inc-unix (tangentsoft.net/mysql++/doc/html/userman/incorporating.html#inc-unix)
я ввожу командой

c++ test.cpp -o test -I/usr/include/mysql -I/usr/local/include/mysql++ -L/usr/local/lib -lmysqlpp -lmysqlclient

выдает кучу ошибок я так понял так как по адресу

-I/usr/include/mysql нет там mysql

на моем FreeBSD он тут -I/usr/local/include/mysql

изминил команду

c++ test.cpp -o test -I/usr/local/include/mysql -I/usr/local/include/mysql++ -L/usr/local/lib -lmysqlpp -lmysqlclient

выдает

/usr/bin/ld: cannot find -lmysqlclient

zythar
26.06.2009, 21:38
стоп. попробуй скопировать и хедеры и либы в /usr/include и /usr/lib и укажи -lmysqlclient.

malik555
26.06.2009, 21:40
Как я понял он не может найти эти либы lmysqlclient

по адресу /usr/local/lib ее нет !

zythar
26.06.2009, 21:46
а файл libmysqlclient в /usr/local/lib есть?

malik555
26.06.2009, 21:59
а файл libmysqlclient в /usr/local/lib есть?

он тут
/usr/local/lib/mysql

а что получается не этот lmysqlclient а этот использовать libmysqlclient


а тогда этот -lmysqlpp найти не могу - или у него может быть другое название ?

malik555
26.06.2009, 22:30
либа тут находится

/usr/local/lib/mysql




c++ test.cpp -o test -I/usr/local/include/mysql -I/usr/local/include/mysql++ -L/usr/local/lib/mysql -lmysqlpp -libmysqlclient



но при компиляции он всеравно ее не видет

/usr/bin/ld: cannot find -libmysqlclient