라이브러리 사용에 관해서
글쓴이: CH331 / 작성시간: 수, 2012/03/07 - 3:23오후
c++입니다.
제가 어떤 프로그램을 만드는데 여기서 특정 기능(벡터를 탐색,비교하는 기능)
을 하는 함수를 라이브러리로 뺄려고합니다.
그래서 A.h 와 A.cpp를 만들어서 g++ -o A.cpp 를 한 뒤
ar rc libA.a A.o
를 하여서 라이브러리를 만들었고,
기존 프로그램에libA.a도 추가하였습니다.
그런데 여기서 문제가 생겼는데요
A.cpp에서도 다른 특정 라이브러리를 참조합니다. 이 라이브러리는 GetPriveteProfileString 이라는 함수를 쓸수있도록 라이브러리를 만들어둔
것입니다.
결론적으로
어떤프로그램->A라이브러리->GetPriveteProfile라이브러리
세 가지가 서로 물려있는 관계입니다.
저는 이를 해결하기위해서
g++ -c A.cpp -L./GetPriveteProfileString의라이브러리
를 추가하여 A.o를 생성한뒤
아까와 마찬가지로
ar rc ar rc libA.a A.o
이렇게 똑같이 A의 라이브러리를 만들었습니다
그러나
GetPriveteProfileString을 쓸수가 없더군요 계속 정의되지 않았다고 나옵니다.
그러나 A.cpp에 main함수를 만들어서 그냥 A의 실행파일을 만들어 실행하면 옳바르게 작동 합니다
왜
참조를 두번하면 Get~ 을 쓸수없는것인지 모르겠습니다.
라이브러리 참조시 그 라이브러리가 다른 라이브러리를 포함한다면 어떤식으로 참조해야하는지 알려주세요
Forums:
해결했어요 makefile에서 라이브러리 호출
해결했어요
makefile에서 라이브러리 호출 순서가 중요했네요
댓글 달기