2014-01-18 2 views
2

내 응용 프로그램에서 사용할 라이브러리에 일부 원시 코드를 컴파일 중입니다. 모든 것이 잘 작동하지만 나를 괴롭힌다. 네이티브 코드의Android ndk "lib"접두사를 제거하십시오

출력은 "libmylibrary.so"가 나는 "에 MyLibrary"

가없는 나는이 접두사를 제거 할 수와 같은 두꺼비 그것을 가지고 "LIB"접두사가 너무 "에 MyLibrary를"추가됩니다? 이상하게 들릴지 모르지만, 원래 코드를 컴파일하는 것에 대한 지식이 없거나 그 문제에 대한 지식이 없다는 것을 명심하십시오.

답변

1

"lib" 접두어는 초기부터 Unix에서의 명명 규칙입니다. 이 접두어는 공유 객체가 -l 플래그와 함께 링커에서 사용될 때 필요합니다. 자세한 내용은 here을 참조하십시오. 접두어는 System.loadLibrary()을 사용할 때도 Java에서 암시됩니다. 접두사는 안드로이드 ApkBuilder과 시스템 설치 프로그램에서도 예상됩니다 (자세한 내용은 here 참조).

그러나 실제로 파일 이름을 "mylibrary.so"으로 지정하려는 경우 해당 파일을 만들고 System.load(fullpath)과 함께 Java로로드 할 수 있습니다. 이 파일을 직접 배포 할 것입니다.