database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30846 게시물 읽기
No. 30846
mysql++.h 를 이용한 리눅스 환경에서 c++ 과 mysql 연동...
작성자
질문자
작성일
2015-06-22 15:50
조회수
7,029

#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 가 두개인데... 없애 주어야 하나요?

그러면 작동 될까요?

 

다른 방법이 있나요? ㅠㅠ 어떻게 지우나요..

[Top]
No.
제목
작성자
작성일
조회
30850순차 데이터 검증 [1]
검증
2015-06-29
6298
30849Mysql 상용 라이센스 구매 관련... [1]
박경일
2015-06-29
6382
308481500만건 데이터에 대한 일자별 UV 추출 건 [3]
박병준
2015-06-22
7265
30846mysql++.h 를 이용한 리눅스 환경에서 c++ 과 mysql 연동...
질문자
2015-06-22
7029
30845성적 상위 % 를 한번에 구할수는 없나요?
이기자
2015-06-17
6600
30844두개의 table group_concat 하기 [1]
김양훈
2015-06-11
6551
30843my-sql에서 ms-sql의 테이블을 읽으려고 합니다.
신병탁
2015-05-28
6901
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2022 DSN, All rights reserved.
작업시간: 0.063초, 이곳 서비스는
	PostgreSQL v14.2로 자료를 관리합니다