#include <mysql++.h>
#include <stdlib.h>
using namespace std;
using namespace mysqlpp;
int main() {
try {
Connection conn(false);
conn.connect("ymb", "localhost:3306", "root", "root1234");
Query query = conn.query();
} catch (BadQuery er) { // handle any connection or
// query errors that may come up
cerr << "Error: " << er.what() << endl;
return -1;
} catch (const BadConversion& er) {
// Handle bad conversions
cerr << "Conversion error: " << er.what() << endl <<
"\tretrieved data size: " << er.retrieved <<
", actual size: " << er.actual_size << endl;
return -1;
} catch (const Exception& er) {
// Catch-all for any other MySQL++ exceptions
cerr << "Error: " << er.what() << endl;
return -1;
}
return (EXIT_SUCCESS);
}
위의 소스를
sudo g++ -I/usr/include/mysql -I/usr/local/include/mysql++ -L/usr/lib -lmysqlclient -lmysqlpp -lnsl -lz -lm -o ttest3 ttest.cpp
이 커맨드로 돌리는데요///
/tmp/ccMghyub.o: In function `main':
ttest.cpp:(.text+0x26): undefined reference to `mysqlpp::Connection::Connection(bool)'
ttest.cpp:(.text+0x59): undefined reference to `mysqlpp::Connection::connect(char const*, char const*, char const*, char const*, unsigned int)'
ttest.cpp:(.text+0x76): undefined reference to `mysqlpp::Connection::query(char const*)'
ttest.cpp:(.text+0x92): undefined reference to `mysqlpp::Connection::~Connection()'
ttest.cpp:(.text+0xb4): undefined reference to `mysqlpp::Connection::~Connection()'
collect2: ld returned 1 exit status
자꾸 undefined 되었다고 해요///
ld.so.conf 등록도 해주었는데... 근데 중복된 so 가 문제가 될 수 있나요...
ldconfig -v 로 보면
/sbin/ldconfig.real: /lib/i686-linux-gnu에 stat()할 수 없습니다: 그런 파일이나 디렉터리가 없습니다
/sbin/ldconfig.real: /usr/lib/i686-linux-gnu에 stat()할 수 없습니다: 그런 파일이나 디렉터리가 없습니다
/sbin/ldconfig.real: `/usr/lib/i386-linux-gnu' 경로가 여러번 주어졌습니다
/sbin/ldconfig.real: `/lib/i386-linux-gnu' 경로가 여러번 주어졌습니다
/sbin/ldconfig.real: `/usr/lib/i386-linux-gnu' 경로가 여러번 주어졌습니다
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
libmysqlpp.so.3 -> libmysqlpp.so.3.2.2
libmysqlpp.so.3 -> libmysqlpp.so.3.1.0
mysqlpp.so.3 가 두개인데... 없애 주어야 하나요?
그러면 작동 될까요?
다른 방법이 있나요? ㅠㅠ 어떻게 지우나요.. |