자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
델파이 XE5에서 아래와 같은 오류가 발생 시 어떻게 대처할까요?
[DCC Error] E2597 C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find –ldl
댓글 2
-
Humphery
2014.05.02 20:57
-
Humphery
2015.03.31 20:52
데브기어 직원 중 한명이 재부팅 후 동일한 오류가 발생해 확인해 보니 안드로이드 SDK 경로가 잘못된 경우가 있었습니다.
혹시 SDK 경로가 잘못된 분은 아래 정보를 참고해 다시 등록하기 바랍니다.
아래 정보는 RAD Studio XE7 기본 값 기준입니다.(다른 경로에 설치하신 분들은 본인에 맞는 경로로 입력하세요.)
[SDK 설정하기]
Options > SDK manager > Android SDK XX 선택
[SDK 탭]
SDK base path
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk
ZipAlign location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\tools\ZipAlign.exe
Android location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\tools\Android.bat
Adb location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\platform-tools\Adb.exe
Aapt location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\build-tools\android-4.4\Aapt.exe
SDK API-Level location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\platforms\android-19
[NDK 탭]
NDK base Path:
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c
arm-linux-androideabl-ld.exe location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe
arm-linux-androideabl-strip.exe location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-strip.exe
gdbserver location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\prebuilt\android-arm\gdbserver\gdbserver
NDK API location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\platforms\android-14
C++ Builder NDK Library path
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\platforms\android-14\arch-arm\usr\lib
Delphi NDK Library path
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\platforms\android-14\arch-arm\usr\lib;C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a
[Java 탭]
KeyTool location
C:\Program Files\Java\jdk1.7.0_25\bin\KeyTool.exe
Jarsigner location
C:\Program Files\Java\jdk1.7.0_25\bin\JarSigner.exe
델파이 XE5에서 아래와 같은 오류가 발생 시 어떻게 대처할까요?
[DCC Error] E2597 C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find –ldl
댓글 2
-
Humphery
2014.05.02 20:57
-
Humphery
2015.03.31 20:52
데브기어 직원 중 한명이 재부팅 후 동일한 오류가 발생해 확인해 보니 안드로이드 SDK 경로가 잘못된 경우가 있었습니다.
혹시 SDK 경로가 잘못된 분은 아래 정보를 참고해 다시 등록하기 바랍니다.
아래 정보는 RAD Studio XE7 기본 값 기준입니다.(다른 경로에 설치하신 분들은 본인에 맞는 경로로 입력하세요.)
[SDK 설정하기]
Options > SDK manager > Android SDK XX 선택
[SDK 탭]
SDK base path
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk
ZipAlign location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\tools\ZipAlign.exe
Android location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\tools\Android.bat
Adb location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\platform-tools\Adb.exe
Aapt location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\build-tools\android-4.4\Aapt.exe
SDK API-Level location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\platforms\android-19
[NDK 탭]
NDK base Path:
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c
arm-linux-androideabl-ld.exe location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe
arm-linux-androideabl-strip.exe location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-strip.exe
gdbserver location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\prebuilt\android-arm\gdbserver\gdbserver
NDK API location
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\platforms\android-14
C++ Builder NDK Library path
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\platforms\android-14\arch-arm\usr\lib
Delphi NDK Library path
C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\platforms\android-14\arch-arm\usr\lib;C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a
[Java 탭]
KeyTool location
C:\Program Files\Java\jdk1.7.0_25\bin\KeyTool.exe
Jarsigner location
C:\Program Files\Java\jdk1.7.0_25\bin\JarSigner.exe
오류코드로 오류내용을 확인하기 위해 서는 아래의 목록에서 오류번호로 확인할 수 있습니다.
http://docwiki.embarcadero.com/RADStudio/XE6/en/Error_and_Warning_Messages_(Delphi)_Index
위 메시지의 경우
1, 원인
외부링크(arm-linux-androideabi-ld.exe)에서 "error: cannot find –ldl" 메시지가 발생한 경우입니다.
해당 오류의 경우 libdl.so 파일을 찾지 못한 경우 발생됩니다.
2, 확인방법
해당 파일의 경로는 SDK 메니저(IDE > Tools > Options > SDK Manager)의
NDK API location에 설정된 경로내에 위치합니다.(저의 경우 C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\platforms\android-14)
위의 경로(C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\platforms\android-14\) 이동 후 arch-arm(arm cpu)경로의 lib 경로로 이동 하여 libdl.so 파일의 존재를 확인
(위의 화면은 libdl.so 파일을 찾지 못하도록 _(언더바)를 추가한 화면입니다. 정상적인 경우 libdl.so 파일이 위치합니다.)
3, 해결책
- SDK Manager의 NDK API location 경로 설정을 확안합니다.(설정여부와 해당 경로가 제대로 설정되었는지 확인)
- 해당 경로에 libdl.so 파일이 존재하는지 확인하세요.
- 만약, 존재하지 않는다면 파일을 복구하는 것도 방법이지만 android ndk를 재설치 하는것을 추천합니다.
(시작메뉴 > Embarcadero RAD Studio XE5 > Modify, Repair, Uninstall)