Autor Téma: IdHTTP problém s https, LocationSensor problém s "ld" exited with code 1  (Přečteno 93 krát)

Offline makr

  • Nováček
  • *
  • Příspěvků: 5
  • Karma: 0
    • Verze Delphi: C++ Builder 10.3.3
Dobrý den,
používám C++ Builder 10.3.3., poprvé zkouším multiplatformní aplikaci a tíží mě dva nezávislé problémy, které se mi ani vyhledáváním totožných témat či problématik nedaří vyřešit:

1) při použití komponenty  IdHTTP1->Get(L"https://neco.cz") pro navrácení výsledku z dané URL, která je volaná přes https (resp. SSL) v překladu pro WIN funguje dle předpokladu, ale při emulaci pro Android, je na telefonu zobrazeno "Could not load SSL library". Mohu, prosím, poprosit o radu? Předem velice děkuji za případnou radu.

2) chtěl jsem zkusit komponentu LocationSensor, nicméně i pokud si načtu vzorové projekty, které danou komponentu obsahují a jsou standardně přiložené po instalaci prostředí, překladač mi vyhodí následující chybu.  Mohu, prosím, poprosit o radu? Předem velice děkuji za případnou radu.

[ldandroid Error] "ld" exited with code 1.
 
Build started 16.3.2020 7:12:44.
__________________________________________________
Project "C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples\CPP\Multi-Device Samples\Device Sensors and Services\LocationDemo\LocationDemoProject.cbproj" (Make target(s)):
Target BuildClassesDex:
    PATH C:\Program Files\Java\jdk1.8.0_60\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Embarcadero\Studio\20.0\bin;C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl;C:\Program Files (x86)\Embarcadero\Studio\20.0\bin64;C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\Win64;C:\Program Files (x86)\PC Connectivity Solution\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\OpenVPN\bin & "C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidSDK-2525_20.0.36039.7899\build-tools\28.0.2\dx.bat" --dex --output="C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples\CPP\Multi-Device Samples\Device Sensors and Services\LocationDemo\Android\Debug\classes.dex" "c:\program files (x86)\embarcadero\studio\20.0\lib\android\Debug\android-support-v4.dex.jar" "c:\program files (x86)\embarcadero\studio\20.0\lib\android\Debug\cloud-messaging.dex.jar" "c:\program files (x86)\embarcadero\studio\20.0\lib\android\Debug\fmx.dex.jar" "c:\program files (x86)\embarcadero\studio\20.0\lib\android\Debug\google-play-billing.dex.jar" "c:\program files (x86)\embarcadero\studio\20.0\lib\android\Debug\google-play-licensing.dex.jar"
    Merged dex #1 (680 defs/848.4KiB)
    Merged dex #2 (7 defs/8.3KiB)
    Merged dex #3 (120 defs/115.8KiB)
    Merged dex #4 (3 defs/5.2KiB)
    Merged dex #5 (25 defs/37.8KiB)
    Result is 835 defs/1233.3KiB. Took 1.2s
Target MakeObjs:
    Target _CppDepCheck:
        Skipping: LocationDemoProject.cpp;LocationDemoUnit.cpp
    Target _PCHDepCheck:
        Skipping: LocationDemoProjectPCH.h
    Target RcCompile:
        Target BuildVersionResource:
            c:\program files (x86)\embarcadero\studio\20.0\bin\cgrc.exe -c65001 "LocationDemoProject.vrc" -foLocationDemoProject.res
            CodeGear Resource Compiler/Binder
            Version 1.2.2 Copyright (c) 2008-2012 Embarcadero Technologies Inc.
           
            Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
           
            Copyright (C) Microsoft Corporation.  All rights reserved.
           
           
            Deleting file "LocationDemoProject.vrc".
Target _PerformLink:
    Target _PerformCLANGLDLink:
        C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.36039.7899\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-ld.exe --sysroot="C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.36039.7899\platforms\android-22\arch-arm" --version-script "c:\program files (x86)\embarcadero\studio\20.0\bin\AndroidSymbols.vsr" -shared --no-undefined -z noexecstack -z relro -z now -z muldefs -L.\Android\Debug -L"c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug" -L"c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug" -L"c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug" -L"c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release" -LC:\Users\Public\Documents\Embarcadero\Studio\20.0\DCP\Android\Debug -LC:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp\Android -L"C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.36039.7899\platforms\android-22\arch-arm\usr\lib" -L"C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.36039.7899\platforms\android-22\arch-arm\usr\lib" -L"C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.36039.7899\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a" --start-group @.\Android\Debug\LocationDemoProjectStart.lnk -lrtlhelper @.\Android\Debug\LocationDemoProject.lnk -lrtle -lrtl -lfmx -lrtlhelper -lsqlib -libtogo -lmidas -lz -lsqlite -lIndyCore -lIndyProtocols -lIndySystem -lcgcrtl -lpcre -ldl -lc -lm -lrtlhelper -landroid -lEGL -lGLESv2 -llog -ljnigraphics -lGLESv1_CM -lOpenSLES -lgnustl_static -lLocalizedRTL -lcompiler_rt --end-group  "c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug\end_android.o"  "C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.36039.7899\platforms\android-22\arch-arm\usr\lib\crtend_so.o" -o .\Android\Debug\libLocationDemoProject.so
        c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug\librtl.a(Androidapi.Sensor.o): In function `Androidapi::Sensor::ASensorManager_getInstanceForPackage(char const*)':
        Androidapi.Sensor:(.text._ZN10Androidapi6Sensor36ASensorManager_getInstanceForPackageEPKc[_ZN10Androidapi6Sensor36ASensorManager_getInstanceForPackageEPKc]+0x4): undefined reference to `ASensorManager_getInstanceForPackage'
        c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug\librtl.a(Androidapi.Sensor.o): In function `Androidapi::Sensor::ASensorManager_createSharedMemoryDirectChannel(ASensorManager*, int, unsigned int)':
        Androidapi.Sensor:(.text._ZN10Androidapi6Sensor46ASensorManager_createSharedMemoryDirectChannelEP14ASensorManagerij[_ZN10Androidapi6Sensor46ASensorManager_createSharedMemoryDirectChannelEP14ASensorManagerij]+0x4): undefined reference to `ASensorManager_createSharedMemoryDirectChannel'
        c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug\librtl.a(Androidapi.Sensor.o): In function `Androidapi::Sensor::ASensorManager_createHardwareBufferDirectChannel(ASensorManager*, Androidapi::Sensor::AHardwareBuffer_*, unsigned int)':
        Androidapi.Sensor:(.text._ZN10Androidapi6Sensor48ASensorManager_createHardwareBufferDirectChannelEP14ASensorManagerPNS0_16AHardwareBuffer_Ej[_ZN10Androidapi6Sensor48ASensorManager_createHardwareBufferDirectChannelEP14ASensorManagerPNS0_16AHardwareBuffer_Ej]+0x4): undefined reference to `ASensorManager_createHardwareBufferDirectChannel'
        c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug\librtl.a(Androidapi.Sensor.o): In function `Androidapi::Sensor::ASensorManager_destroyDirectChannel(ASensorManager*, int)':
        Androidapi.Sensor:(.text._ZN10Androidapi6Sensor35ASensorManager_destroyDirectChannelEP14ASensorManageri[_ZN10Androidapi6Sensor35ASensorManager_destroyDirectChannelEP14ASensorManageri]+0x4): undefined reference to `ASensorManager_destroyDirectChannel'
        c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug\librtl.a(Androidapi.Sensor.o): In function `Androidapi::Sensor::ASensorManager_configureDirectReport(ASensorManager*, ASensor*, int, int)':
        Androidapi.Sensor:(.text._ZN10Androidapi6Sensor36ASensorManager_configureDirectReportEP14ASensorManagerP7ASensorii[_ZN10Androidapi6Sensor36ASensorManager_configureDirectReportEP14ASensorManagerP7ASensorii]+0x4): undefined reference to `ASensorManager_configureDirectReport'
        c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug\librtl.a(Androidapi.Sensor.o): In function `Androidapi::Sensor::ASensorEventQueue_registerSensor(ASensorEventQueue*, ASensor*, int, long long)':
        Androidapi.Sensor:(.text._ZN10Androidapi6Sensor32ASensorEventQueue_registerSensorEP17ASensorEventQueueP7ASensorix[_ZN10Androidapi6Sensor32ASensorEventQueue_registerSensorEP17ASensorEventQueueP7ASensorix]+0x16): undefined reference to `ASensorEventQueue_registerSensor'
        c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug\librtl.a(Androidapi.Sensor.o): In function `Androidapi::Sensor::ASensor_isDirectChannelTypeSupported(ASensor*, int)':
        Androidapi.Sensor:(.text._ZN10Androidapi6Sensor36ASensor_isDirectChannelTypeSupportedEP7ASensori[_ZN10Androidapi6Sensor36ASensor_isDirectChannelTypeSupportedEP7ASensori]+0x4): undefined reference to `ASensor_isDirectChannelTypeSupported'
        c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug\librtl.a(Androidapi.Sensor.o): In function `Androidapi::Sensor::ASensor_getHighestDirectReportRateLevel(ASensor*)':
        Androidapi.Sensor:(.text._ZN10Androidapi6Sensor39ASensor_getHighestDirectReportRateLevelEP7ASensor[_ZN10Androidapi6Sensor39ASensor_getHighestDirectReportRateLevelEP7ASensor]+0x4): undefined reference to `ASensor_getHighestDirectReportRateLevel'
        c:\program files (x86)\embarcadero\studio\20.0\Bin\CodeGear.Cpp.Targets(4064,5): error MSB6006: "ld" exited with code 1.
    Done building target "_PerformCLANGLDLink" in project "LocationDemoProject.cbproj" -- FAILED.
Done building target "_PerformLink" in project "LocationDemoProject.cbproj" -- FAILED.
Done building project "LocationDemoProject.cbproj" -- FAILED.
Build FAILED.
c:\program files (x86)\embarcadero\studio\20.0\Bin\CodeGear.Cpp.Targets(4064,5): error MSB6006: "ld" exited with code 1.
    0 Warning(s)
    1 Error(s)
Time Elapsed 00:00:58.47
 

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1136
  • Karma: 42
    • Verze Delphi: 7, 2010
Na Androidu bude asi lepší místo Indy použít TNetHTTPClient, ten nepotřebuje další knihovny

Offline makr

  • Nováček
  • *
  • Příspěvků: 5
  • Karma: 0
    • Verze Delphi: C++ Builder 10.3.3
Děkuji za jednoduchý a dobrý tip, funguje to na obou platformách.
Nevěděl byste si někdo, prosím, rady s tím druhým dotazem tj. okolo problematiky s komponenetou s LocationSensor? Vizte úvodní popis problématiky. Případně předem také děkuji.

Offline makr

  • Nováček
  • *
  • Příspěvků: 5
  • Karma: 0
    • Verze Delphi: C++ Builder 10.3.3
Doplňuji k výše uvedenému, že mimo LocationSensor mě stejný problém při překladu trápí i při pro načítání z gyro senzoru, hláška (resp. výše celý obsah): c:\program files (x86)\embarcadero\studio\20.0\Bin\CodeGear.Cpp.Targets(4064,5): error MSB6006: "ld" exited with code 1.
Nedaří se mi stále přes tento problém dostat (přiklady jsou puštěně z sample dodané přímo s instalací prostředí), děkuji za případné nasměrování na řešení