타이젠 네이티브 앱을 개발하려면 화면 구성을 해야겠지요.

Enventor가 화면을 구성할 때 좋은 친구가 되어줄 것입니다.


Enventor를 사용하여 레이아웃에 이미지를 넣어봅시다.

Enventor에 이미지를 위한 공간을 마련하는 것은 어렵지 않은데요,

이미지를 위한 공간에 이미지를 포함시키려면 이미지파일은 어디에 두어야 할까요?



안녕하세요, Tizen 개발자 윤진입니다.


Tizen 2.3 SDK에서 edc 파일을 더블클릭하면 Enventor가 런칭됩니다.

Enventor에 이미지를 저장하기 위한 파트를 하나 만들어둡니다.

그리고 파트에 이미지를 하나 지정합니다.

이미지 파일은 어디에 두는게 좋을까요?

Enventor > Setting > Image Paths

위의 경로를 변경하여 이미지를 저장해봅니다.



Image Paths를 이미지 파일이 있는 디렉토리로 변경하고,

Enventor의 preview 영역을 확인하니 이미지가 제대로 나옵니다.


자, 그리고 컴파일을 시도하면 위의 edc 파일을 빌드할 수 없다고 에러가 나옵니다.

무엇이 문제인 것일까요?


Eventor와 Tizen SDK가 완벽하게 통합되지 않았습니다.

위에서 설정한 Image Paths는 Enventor 만을 위한 메뉴입니다.

Tizen SDK에서 빌드를 위한 Image Paths도 지정해주어야 합니다.


Project Explorer > (마우스 우클릭) > Properties

위처럼 진입하여 메뉴윈도우를 띄웁니다.

C/C++ Build > Settings > Tool Settings > EDC Resource Compiler > misc

위의 메뉴까지 진입하면 Image Path를 입력할 수 있는 메뉴가 나옵니다.



Image Path에 있는 "+" 버튼을 눌러서 이미지 파일이 있는 위치를 추가해줍니다.

그리고 OK를 눌러 다시 빌드를 해봅니다.

이제 빌드에 성공하였네요.


그럼 좋은 하루 보내세요~

끝_


최신 버전 Ubuntu 15.04 64비트에 Tizen 2.3 SDK를 설치해보았습니다.

올초에 나온 Tizen 2.3 SDK는 14.04까지 공식지원하고 있습니다.

다행히 15.04에서도 SDK의 기본 기능을 사용하는데 문제는 없습니다.


하지만, 드디어 에러를 만나게 됩니다.

Tizen SDK 내에 edc 파일을 편집할 때 사용하는 enventor라는 툴이 실행이 안되더군요.

이번 포스팅은 enventor를 '임시'로 사용할 수 있는 방법을 공유합니다.



안녕하세요, Tizen 개발자 윤진입니다.


이번 포스팅은 타이젠 2.3 SDK에서 공식지원하지 않는 Ubuntu 15.04 환경에서 벌어진 일을 다룹니다.

Ubuntu 14.04에서는 위와 같은 에러 없이 Eventor를 사용하실 수 있습니다.

하지만, 최신 버전의 우분투에서 타이젠 SDK를 사용하고 싶으시다면 이번 포스팅을 참고해주세요.



SDK에서 edc 파일을 편집하기 위해 파일을 더블클릭하면 위와 같은 팝업창이 뜹니다.

팝업 내용은 edc 편집툴인 enventor를 런칭하지 못한다는 내용인데요,

에러로그 뷰를 살펴보라고 하지만, 에러로그 뷰에는 별 다른 내용이 없습니다.

그래서 이를 해결하기 위해서 enventor를 커맨트창에서 직접 실행해보았습니다.


$ ~/tizen-sdk/tools/enventor/bin/enventor 
/home/storycompiler/tizen-sdk/tools/enventor/bin/enventor: error while loading shared libraries: libelementary.so.1: cannot open shared object file: No such file or directory


elementary 라이브러리가 없어서 enventor가 실행이 안되는 것이었군요.

하지만, 타이젠 SDK에는 elementary 라이브러리가 포함되어 있습니다.


$ ls ~/tizen-sdk/tools/efl-tools/lib/libelementary.so.1
/home/storycompiler/tizen-sdk/tools/efl-tools/lib/libelementary.so.1

위의 위치를 보시면 EFL에서 제공하는 다수의 라이브러리를 확인하실 수 있습니다.

물론 elementary도 찾을 수 있지요.

라이브러리가 있는데 찾지 못하는 것은 라이브러리 위치가 등록되어있지 않기 때문입니다.

타이젠 라이브러리 디렉토리를 등록하기 위해 /etc/ld.so.conf.d 디렉토리에 tizen.conf 파일을 새로 만듭니다.

그 안에 위의 라이브러리 디렉토리를 추가해둡니다.


$ cat /etc/ld.so.conf.d/tizen.conf
/home/storycompiler/tizen-sdk/tools/efl-tools/lib


그리고 다시 enventor를 실행해봅니다.

이번에는 아래처럼 libgnutls 라이브러리가 없다고 나옵니다.


$ ~/tizen-sdk/tools/enventor/bin/enventor 
/home/storycompiler/tizen-sdk/tools/enventor/bin/enventor: error while loading shared libraries: libgnutls.so.26: cannot open shared object file: No such file or directory


libgnutls.so.26 버전은 여기에서 다운로드 받을 수 있습니다.

위의 사이트가 열리지 않을 경우에 대비하여 64비트 우분투 15.04용 rpm을 첨부합니다.

lib64gnutls26-2.12.14-2-mdv2012.0.x86_64.rpm

아래와 같이 libgnutls.so.26 버전을 설치합니다.

여기에서는 64비트 환경에 맞춰서 64비트용의 라이브러리를 설치하였습니다.


$ sudo rpm -Uvh --force --nodeps lib64gnutls26-2.12.14-2-mdv2012.0.x86_64.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
경고: lib64gnutls26-2.12.14-2-mdv2012.0.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 26752624: NOKEY
준비 중...                         ################################# [100%]
Updating / installing...
   1:lib64gnutls26-2.12.14-2          ################################# [100%]

그리고 다시 enventor를 실행해봅니다.

이번에는 libgcrypt.so.11 파일이 없다고 나오네요.

$ ~/tizen-sdk/tools/enventor/bin/enventor
/home/storycompiler/tizen-sdk/tools/enventor/bin/enventor: error while loading shared libraries: libgcrypt.so.11: cannot open shared object file: No such file or directory


따라서 이번에도 libgcrypt.so.11 버전을 찾아서 받습니다.

위의 버전은 여기에서 다운로드 받으실 수 있습니다.

위의 사이트가 열리지 않을 경우에 대비하여 64비트 우분투 15.04용 rpm을 첨부합니다.

lib64gcrypt11-1.5.4-5.mga5.x86_64.rpm

$ sudo rpm -Uvh --force --nodeps lib64gcrypt11-1.5.4-5.mga5.x86_64.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
경고: lib64gcrypt11-1.5.4-5.mga5.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 80420f66: NOKEY
준비 중...                         ################################# [100%]
Updating / installing...
   1:lib64gcrypt11-1.5.4-5.mga5       ################################# [100%]


libgcrypt는 /usr/lib64에 설치가 됩니다.

하지만, 위의 위치는 ld.conf에 등록된 위치가 아닐 수 있습니다.

$ ls /usr/lib64/libgcrypt.so.11
/usr/lib64/libgcrypt.so.11


따라서 좀 전에 elementary를 등록하기 위해 만든 tizen.conf에 lib64도 등록해둡니다.

$ cat /etc/ld.so.conf.d/tizen.conf 
/home/storycompiler/tizen-sdk/tools/efl-tools/lib
/usr/lib64
$ sudo ldconfig


그리고 다시 enventor를 실행하면 이번엔 libtasn1.so.3이 없다는 에러가 나옵니다.

$ ~/tizen-sdk/tools/enventor/bin/enventor 
/home/storycompiler/tizen-sdk/tools/enventor/bin/enventor: error while loading shared libraries: libtasn1.so.3: cannot open shared object file: No such file or directory


이번에도 libtasn1.so.3을 여기에서 다운로드 받습니다.

위의 사이트가 열리지 않을 경우에 대비하여 64비트 우분투 15.04용 rpm을 첨부합니다.

libtasn1-3-1.2-31.2.x86_64.rpm

$ sudo rpm -Uvh --force --nodeps libtasn1-3-1.2-31.2.x86_64.rpm 
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
경고: libtasn1-3-1.2-31.2.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 92fbd4a7: NOKEY
준비 중...                         ################################# [100%]
Updating / installing...
   1:libtasn1-3-1.2-31.2              ################################# [100%]


위의 파일마저 제대로 설치하였다면, 이제는 enventor를 실행할 수 있습니다.


자, 이제 다시 개발의 재미에 빠져보시죠.

그럼 좋은 하루 보내세요~

끝_


* References

http://rpmfind.net/linux/rpm2html/search.php?query=libgnutls.so.26%28%29%2864bit%29

http://rpmfind.net/linux/rpm2html/search.php?query=libgcrypt.so.11%28%29%2864bit%29

http://rpm.pbone.net/index.php3/stat/4/idpl/23618373/dir/redhat_el_5/com/libtasn1-3-1.2-31.2.x86_64.rpm.html

+ Recent posts