C++의 클래스를 라이브러리로 해서 링크하려는데 문제가...
글쓴이: lobin2 / 작성시간: 토, 2007/06/16 - 4:12오후
안녕하세요..
C++로 제작된 클래스가 있거든요. 내부적으로 C함수를 쓰지만 메인에서는 클래스만을 사용하는 구조입니다.
소스 자체를 포함하기에 관리가 복잡해서 C++로 제작된 클래스를 라이브러리화 시켜서 사용하려고 합니다.
검색을 해 보니.. 정적 라이브러리로 ar rcv를써서 .a파일을 만들고 ranlib를 써서 .a를 만들었습니다.
이 라이브러리를 메인에서 가져와 쓸려고 하니 링킹 과정에서 undefined reference 에러가 나네요...
라이브러리의 해당 함수의 주소를 찾지 못해서 나오는 원인인데...
원래 C++ 클래스를 라이브러리로 만들지 못하나요?
가능하다면 어떻게 해야할 지 궁금하네요.
고수님들의 답변 부탁드립니다.
Forums:
질문이 좀더 구체적이면 좋을텐데요..
컴파일 옵션이라도 적어 주셨다면... 좋을 듯 합니다.
링킹과정에 에러이니.... g++ 옵션에.. 해당 라이브러리이름을 명시하셨는지..
만약.. libtest.a 라는 라이브러리이면, g++ ........... -ltest 라고 해 주셔야 합니다.
이걸 물으신 것은 아니신듯 한데... ^^;;
답변 감사합니다.. ^^
ironboy님 덕분에 잘 해결되었습니다. ^^
리눅스 프로그래밍은 최근에 들어서 배우게 됐는데... 적어주신 걸 몰랐네요.. ^^
지금 껏 옵션에... -L/home/myid/test/libMp3.a
이런식으로 옵션을 줬었는데... 자세히 보니 -L은 라이브러리 디렉토리고 말씀하신 것처럼 경로 추가하고 -lMp3로 하니
잘 해결이 되었습니다. ^^
한창 찾았었는데.. 도움주셔서 너무 감사합니다. ^^
댓글 달기