서적에 관한 질문 및 오류 등을 문의 할 수 있으며, 저자로부터 직접 답변을 받을 수 있습니다.

NDK 컴파일에서 계속 에러가 나서

알려주신 방법을 적용 하고저 다시 리녹스 부터 설치 중입니다...

 

아직 컴파일을 못해봐서 궁금한데요

 

질문 1)

컴파일이 끝나면 몇개의 *.img 파일이 생긴다고 하셨는데요

이 것을 어떻게 적용을 해야는건지요?

애뮬레이터에서 일거드린다고 하신 부분이 정확하게 어떻게 적용해야 하는건지요?

그리고 *.img 파일드을 윈도우로 가저와서 사용해도 되는지요?

 

질문 2)

다운받은 소스를 보니 external 폴더에 말씀해 주신대로 openssl 이 있습니다.

컴파일을 하고 나면 openssl도 컴파일이 되서 *.so 파일로 생성이 되는건지요?

아니면 별도로 컴파일을 해서 so파일을 만들어야 하는지요?

 

질문 3)

*.a로 만들어진 파일을 사용 하려면 *.so로 변환해야 한다고 하셨어

책에서 two-libs 설명 부분을 다시 읽어 보았습니다. 이해가 잘 안됩니다.

간단한 예제 하나 보내주시면 감사하겠습니다.

 

행복한 한가위 보내세요*^^*

 

 


고도리

2012.09.28 21:19:21
*.200.239.210

A1> 윈도우로 가져와서 사용해도 됩니다. emulator관련 image를 교체해서 사용하셔도 됩니다.

다만 좀 위험할 수는 있습니다 - 동작시...^^


예전에는 실제로 이렇게 개발한 적도 있습니다.


A2> system/lib 디렉토리 보시면 생성되어 있습니다. 즉, 사용할 수 있다는 얘기입니다.

제가 사용하는 Origen4412용의 android 소스는 다음과 같이 되어 있습니다.


root@godori:/hdd/root/work/19.4412-ics-kernel/33.20120903-android/out/target/product/origen_quad/system/lib# l *ssl*

-rwxr-xr-x 1 root root 187364 Sep  5 15:08 libssl.so


A3> .a로 된 라이브러리 즉.......static library는 컴파일시에만 사용됩니다. 

- static library

확장자 .a, 컴파일시만 사용되며 최종 실행 binary 혹은 다른 library에 포함이 되어 버리는 라이브러리


- shared library: 확장자 .so, windows에서 얘기하는 DLL과 같은 형태를 얘기하며, 컴파일시 binary와 다른 library에 포함이 되지 않고 동적으로 binary 실행시 로딩되는 라이브러리


안드로이드 플랫폼에서는 .a는 최종 컴파일 결과물에 존재하지 않습니다. 즉, 최종 컴파일된 결과물의 어느 하나의 binary(실행파일) 혹은 특정 library에 이미 포함되어 있는 형태입니다.


그러므로, .a로 만드시면 다른 결과물(binary or shared library)에 이미 포함되는 구조입니다. 즉, 라이브러리 형태로 사용하려면 컴파일시만 사용해야하고, 동적으로 로딩은 못시킨다는 것입니다.


하지만, NDK는 모든 라이브러리를 동적으로 로딩해야 하는 구조이기 때문에, .a로 만드실 경우 사용하지 못한다는 것입니다.


이런 이유로 .a로 만들어 놓은 라이브러리들은 간단하게 다른 함수로 wrapping을 해서 .so의 형태로 단순 치환해서 사용하시면 된다는 얘기입니다.


간단한 예제가 two-libs 입니다만, 다른 예제가 있는지 찾아보겠습니다.


더페이퍼

2012.10.04 18:08:30
*.171.36.254

연휴는 행복하게 보내셨는지요*^^*

 

답변을 읽어보니 우선은 안드로이드 소스를 컴파일을 해서 .so 파일을 만들어서 사용하는 것이 빠른 방법이겠네요

 

답변 감사합니다.

 

 

List of Articles
번호 제목 글쓴이 날짜 조회 수sort

repo 설정 시에 문제가 발생합니다. [5]

  • 죽유
  • 2012-12-19
  • 조회 수 5253

NDK 개발 환경 설정하기에서 문제입니다. file [2]

surfaceflinger에서 화면을 dump뜨는 메카니즘에 대해서...

GPIO 컨트롤 하기 예제 중 insmod에 관하여 문의드립니다. [2]

정오표 정리 제안 [4]

안드로이드 소스 컴파일 시에 문제가 발생합니다. [10]

  • 죽유
  • 2012-12-20
  • 조회 수 5014

SDL 예제관련 에러 질문입니다. [1]

  • 민민
  • 2012-12-25
  • 조회 수 5011

ffmpeg & hoffplay 에러 [5]

동영상 파일을 열때 avformat_open_input문 사용문의 [2]

hoffplay 빌드시 sec_format.h / SEC_OMX_Def.h 없다고 나옵니다. [3]

3rd party app에서 프레임워크 수정된 걸 적용시키려면 어떻게 해야... [3]

ffmpeg HOPLAY [3]

ffmpeg 빌드에러 [2]

GetMethodID와 GetStaticMethodID [2]

NDK에서 Surface 질문드립니다. [3]

개발 환경 구축하는데 몇가지 질문 사항이 있습니다. [3]

  • 죽유
  • 2012-12-15
  • 조회 수 4607

SSL_ERROR_SYSCALL 에러 질문드립니다..

NDK 소스 빌드 질문 드립니다. [2]

79쪽 예제 말이에요 ㅠㅠ [1]

Error 질문 드립니다. [9]

사용자 로그인