본문 바로가기

컴퓨터/C/C++

c언어 db 연동

서버/클라이언트 작업을 하던중..


db가 필요했다 ;;


당연히 서버는 리눅스..페도라 7.


머..페도라든 레드햇이든..수세든..그닥 차이는 없으나 리눅스기반이라는 것만은 중요!


여튼 mysql을 C언어로 연동하려고 하니..자료가 그닥 없다.


일단. odbc 랑 개발 라이브러리 .. 2가지 고민.


odbc는 한번도 사용해보지 않아서..개발라이브러리를 찾는데..


자료도 그닥 없다.


멀 받아야하는지도 모르겠다.


여기저기 뒤져서 찾은 자료가..


mysql-devel 이다. 이게 mysql.h 와 각종 라이브러리를 담고 있는 파일이었다. -_-


그걸 몰랐다니 -_-


알았다면 이미 작업 다 끝났을텐데 -_-


즉 mysql 을 돌리려면 기본적으로 server 파일이 필요하고.


그리고 데몬을 돌리고 mysql-devel (development ) 파일을 설치한다.


source파일이든..rpm 파일이든 상관없다.


그리곤...이제 코딩만하면 된다.......


아차차..


컴파일할때 라이브러리 추가하는것도 잊지 말자.


다음은 지식인에서 퍼온글이다.


gcc로 컴파일 할 때 뒤에 -lmysqlclient를 붙이셔야 합니다.


예) gcc test.c -lmysqlclient


mysql 라이브러리와 연결해서 컴파일하라는 의미입니다.


///// 수정 1 ////////////////////////////////////////////////////////////


mysql 을 yum 으로 설치를 했더니.....


어디에 깔린지도 모르겠고..lib를 찾다가 볼일을 다 봅디다 --


라이브러리랑 연결해서 컴파일 할려고 하니 (-lmysqlclient 를 사용하니)


cannot find lmysqlclient 라고 나옵디다 -_-


그래서 찾아보니 라이브러리 주소를 고쳐줘야할거같습니다. PATH를 사용해야할거같은데.....


그건 잘모르겠고 gcc로 컴파일할때 주소를 넣어주는 방법을 소개합니다. (PATH는 나중에 찾아서 올립죠)


gcc -o test test.o -L/usr/lib/mysql -lmysqlclient


저는 일단 find 명령으로 라이브러리를 찾아보니 /usr/lib/mysql 에 있습니다.


그래서 -L / 주소 를 사용해서 위치를 지정해주니 링킹이 됩니다.


어디 보니 gcc -o test test.o -L/주소 -l/주소 -라이브러리


이렇게 쓰는 경우가 있던데 그것도 좀 찾아보고 올리겠습니다.


지금 개발중에 문서를 틈틈히 쓰고 있습니다...까먹을까바 ;;;


정리는 나중에 생각하고 ㅋ 일단 작성만 합니다. -_-