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/주소 -라이브러리
이렇게 쓰는 경우가 있던데 그것도 좀 찾아보고 올리겠습니다.
지금 개발중에 문서를 틈틈히 쓰고 있습니다...까먹을까바 ;;;
정리는 나중에 생각하고 ㅋ 일단 작성만 합니다. -_-
[출처] [리눅스] C언어로 mysql 연동할때 라이브러리?|작성자 옹식이