语言

Menu
Sites
Language
컴파일시 공유 라이브러리 찾지 못합니다.

공통적으로 사용하는 기능을 담은 공유 라이브러리(libtest.so )를 만들고

새로운 네이티브 프로젝트를 만들어 /lib/ 폴더 안에 libtest.so 파일을 복사했습니다.

그리고 프로젝트 프로퍼티 안에 설정부분에서

   - libraries  => test

   - Library Paths => /${ProjName}/lib

로 설정 하였습니다.

그런데 이게 에뮬레이터에서는 정상적으로 실행 되는데

실제 기기(samsung z1 2.3)로 연결해서 컴파일 및 실행을 하면

  c:/tizen-sdk/tools/arm-linux-gnueabi-gcc-4.6/bin/../lib/gcc/arm-linux-gnueabi/4.6.4/../../../../arm-linux-gnueabi/bin/ld.exe: cannot find -ltest

이런 오류가 발생합니다.

무슨 문제인지 알 수가 없습니다.ㅠ,.ㅠ

어덯게 하면 해결 될까요?

编辑者为: jeonghun cho 11 6月, 2015

响应

4 回复
daniel kim

안녕하세요..

Project references로 shared library project를  한번 같이 빌드하고 나면 되는 것 같습니다.

우선 Project property의 설정을 모두 지우고 lib/test.so도 삭제하신 다음에,

Project property -->Project references에서 shared library project를 선택 후 빌드를 합니다. 빌드가 완료되면 reference 설정은 안하셔도 됩니다.

이후 빌드된 so file을 Project에 복사하고 Project property--> C/C++ Build --> Settings --> Libraries 에서 lib를 설정하면, error없이 빌드되는 것이 확인됩니다.

jeonghun cho

감사합니다.

daniel kim님 덕분에 오류없이 컴파일 했습니다.

Project property -->Project references에서 shared library project를 선택 후 빌드를 하니

오류없이 앱이 실행됩니다.

그런데 Project property -->Project references에서 shared library project를 선택 해제 후 실행하면

이전과 같은 오류가 발생합니다.

감사합니다.^^

daniel kim

안녕하세요.

project references 설정하여 빌드된 후에 새로 생성된 .so file을 project의 lib 밑에 복사하시고 하시면 됩니다.

shared library만 빌드하면 .so가 x86 format이 되고, project references로 같이 빌드하면 arm format으로 다시 생성되는 것 같습니다.

 

jeonghun cho

감사합니다^^

즐거운 하루 보내세요^^