Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 09.12.2019, 19:25   #1
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
Плохо DataSnap и Andoid

Всем привет!
Delphi RIO 3.3
Создал multi-device app. Всё скомпилировалось и запустилось на мобиле. После добавил DataSnap Rest Client module.
При добавлении ошибок не было, создались два модуля. Но проект перестал комплироваться. В чем проблема и как исправить ошибку?

Цитата:
Checking project dependencies...
Compiling HeaderFooterNavigation.dproj (Debug, Android)
dccaarm command line for "HeaderFooterNavigation.dpr"
c:\program files (x86)\embarcadero\studio\20.0\bin\d ccaarm.exe -$O- --no-config -M -Q -TX.so -AGenerics.Collections=System.Generi cs.Collections;
Generics.Defaults=System.Generics.D efaults -DDEBUG -E.\Android\Debug -I"c:\program files (x86)\embarcadero\studio\20.0\lib\A ndroid\debug";"c:\program
files (x86)\embarcadero\studio\20.0\lib\A ndroid\Release" -LEC:\Users\Public\Documents\Embarca dero\Studio\20.0\Bpl\Android
-LNC:\Users\Public\Documents\Embarca dero\Studio\20.0\Dcp\Android -NU.\Android\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap ; -O"c:\program files
(x86)\embarcadero\studio\20.0\lib\A ndroid\Release" -R"c:\program files (x86)\embarcadero\studio\20.0\lib\A ndroid\Release" -U"c:\program files
(x86)\embarcadero\studio\20.0\lib\A ndroid\debug";"c:\program files (x86)\embarcadero\studio\20.0\lib\A ndroid\Release"
--libpath:D:\android-ndk-r20b\platforms\android-22\arch-arm\usr\lib;D:\android-ndk-r20b\sources\cxx-stl\llvm-libc++\libs\armeabi-v7a
--linker:D:\android-ndk-r20b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe -V -VN -NO.\Android\Debug
HeaderFooterNavigation.dpr
[DCC Error] E2597 D:\android-ndk-r20b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe: error: cannot find -lgnustl_static
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o):C:\Builds\tp\ runtime\data\dsnap\midas\alchemy.cp p:function DllGetClassObject: error: undefined reference to 'operator delete(void*)'
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o):C:\Builds\tp\ runtime\data\dsnap\midas\alchemy.cp p:function DllGetClassObject: error: undefined reference to 'operator delete(void*)'
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o):C:\Builds\tp\ runtime\data\dsnap\midas\alchemy.cp p:function DllGetClassObject: error: undefined reference to 'operator delete(void*)'
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o):C:\Builds\tp\ runtime\data\dsnap\midas\alchemy.cp p:function DllGetClassObject: error: undefined reference to 'operator delete(void*)'
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o)(.ARM.extab.te xt.DllGetClassObject+0x0): error: undefined reference to '__gxx_personality_v0'
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o)(.ARM.extab.te xt._ZN14DSBASE_Factory14CreateInsta nceEP8IUnknownRK4GUIDPPv+0x0): error: undefined reference to '__gxx_personality_v0'
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o)(.ARM.extab.te xt._ZN16DSCursor_Factory14CreateIns tanceEP8IUnknownRK4GUIDPPv+0x0): error: undefined reference to '__gxx_personality_v0'
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o)(.ARM.extab.te xt._ZN8TAlchemy6MakeDSEPP7TDSBASE+0 x0): error: undefined reference to '__gxx_personality_v0'
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o):C:\Builds\tp\ runtime\data\dsnap\midas\alchemy.cp p:vtable for DS_Factory: error: undefined reference to '__cxa_pure_virtual'
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o):C:\Builds\tp\ runtime\data\dsnap\midas\alchemy.cp p:vtable for DS_Factory: error: undefined reference to '__cxa_pure_virtual'
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o):C:\Builds\tp\ runtime\data\dsnap\midas\alchemy.cp p:typeinfo for DS_Factory: error: undefined reference to 'vtable for __cxxabiv1::__si_class_type_info'
D:\android-ndk-r20b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe: the vtable symbol may be undefined because the class is missing its key function
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o):C:\Builds\tp\ runtime\data\dsnap\midas\alchemy.cp p:typeinfo for DSBASE_Factory: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
D:\android-ndk-r20b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe: the vtable symbol may be undefined because the class is missing its key function
c:\\program files (x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(alchemy.o):C:\Builds\tp\ runtime\data\dsnap\midas\alchemy.cp p:typeinfo for DSCursor_Factory: error: undefined reference to 'vtable for __cxxabiv1::__vmi_class_type_info'
D:\android-ndk-r20b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe: the vtable symbol may be undefined because the class is missing its key function
(x86)\\embarcadero\\studio\\20.0\\l ib\\Android\\Release/libmidas.a(idxfilt.o):C:\Builds\tp\ runtime\data\dsnap\midas\idxfilt.cp p:function DSIDXFILT::~DSIDXFILT(): error: undefined reference to 'std::terminate()'
[DCC Fatal Error] F2588 Linker error code: 1 ($00000001)
Failed
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 09.12.2019, 20:17   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,739
По умолчанию

Цитата:
Сообщение от MAcK Посмотреть сообщение
C:\Builds\tp\ runtime\data\dsnap\midas\alchemy.cp p:function DllGetClassObject: error: undefined reference to 'operator delete(void*)'
Что-то мне подсказывает, что Android не знает, что такое DLL. Возможно, DataSnap видимо ещё не адаптирован к этой платформе
Цитата:
Сообщение от MAcK Посмотреть сообщение
как исправить ошибку?
Использовать DataSnap только под винду. Для Android придумать альтернативное решение.

P.S. Лучшее решение писать под Android на Java или Kotlin. С Delphi может быть много неприятных сюрпризов.

Последний раз редактировалось Streletz; 10.12.2019 в 01:28.
Streletz вне форума Ответить с цитированием
Старый 09.12.2019, 20:50   #3
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
По умолчанию

Писать на делфи не моя прихоть...
Что за решение?

PS: Вот используют датаснап и нормально компилится: https://youtu.be/NYqRpsb9A7U?t=383
Единственный приличный формат, разработанный Microsoft'ом, - format c:

Последний раз редактировалось MAcK; 09.12.2019 в 22:15.
MAcK вне форума Ответить с цитированием
Старый 10.12.2019, 01:47   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,739
По умолчанию

Цитата:
Сообщение от MAcK Посмотреть сообщение
Вот используют датаснап и нормально компилится
Видимо у Вас что-то не так установилось или не так настроено. Ведь зависимости, которые компилятор не может найти не просто так исчезли.

Но, это мои предположения.
Streletz вне форума Ответить с цитированием
Старый 10.12.2019, 11:21   #5
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
По умолчанию

Нашёл другой способ.

Тем кому интересно:
Использую RestClient + RestRequest + RestRespone.
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
API на php vs DataSnap Rockot БД в Delphi 1 17.12.2016 22:06
DataSnap mavlon_m Общие вопросы Delphi 4 04.09.2015 20:06
DataSnap 5cek Общие вопросы Delphi 5 03.09.2014 07:38
Мнения об DataSnap Pascal1983 Общие вопросы Delphi 0 17.09.2013 12:51
DataSnap на Delphi 7 ILYA_SAKHA БД в Delphi 2 09.06.2010 16:22