Android.mk 빌드관련 궁금한게 있는데요
LOCAL_LDLIBS , LOCAL_SHARED_LIBRARIES 무슨 차이가 있는건가요?
인터넷에서 예제를 찾아보면
LOCAL_LDLIBS += -llog
LOCAL_SHARED_LIBRARIES += libtest
이런식으로 사용하는것 같은데요
LDLIBS에서는 liblog.so에서 기존 리눅스 참조하듯이 -l 옵션으로 이름만 써주고
SHARED 에서는 libtest.so를 확장자 빼고 풀네임을 쓰는방식으로 검색하면 나오는데요
1)
LOCAL_LDLIBS , LOCAL_SHARED_LIBRARIES 무슨 차이가 있는건가요?
어떤기준을 갖고 둘중에 하나를 이용해서 사용해야 하는건가요?
2) 제가 libtest.so 파일을 만들어서 ndk 프로젝트에서 링크시켜주고 싶은데요
LOCAL_LDLIBS += -llog libtest.so
이렇게 하니깐 빌드 및 테스트했을때 정상동작을 하고 있습니다. -l 옵션을 붙여도 되고 안붙여도 되는건가요?
구글링 검색해보니 저와같은 고민으로 테스트를 했을때 libtest.so 풀네임으로 써주면 에러가 없어졌다는 내용이 많이 보이네요;
3)
LOCAL_LDLIBS += -llog
LOCAL_SHARED_LIBRARIES += libtest
2번 항에서 테스트한 옵션으로 3번처럼 바꿔서 하면 빌드에서 에러가 나는데요
에러내용은 libtest 의 함수를 찾을수 없다. 라이브러리 링크가 제대로 안된것 같은데
1번 질문처럼 두 옵션이 쓰이는 방법이 어떻게 다른것인지 궁금합니다.(1번질문과 겹치는 내용같네요)