Latest Unidac with C++ Builder 10.3.3

Discussion of open issues, suggestions and bugs regarding Virtual Data Access Components for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Aggie85
Posts: 87
Joined: Wed 11 Nov 2015 17:03

Latest Unidac with C++ Builder 10.3.3

Post by Aggie85 » Thu 12 Dec 2019 23:54

Howdy All!

I am trying to build my first mobile FireMonkey application to go between Windows and Android.

I drop a TVirtualQuery onto a form and it compiles / works with Windows.

When I try to compile / link with Android, I am getting the following errors (I included the entire output):
Build started 12/12/2019 5:12:00 PM.
__________________________________________________
Project "C:\ePaymentAmerica\FirstMobileApp\FirstMobileApp.cbproj" (Make target(s)):
Target BuildClassesDex:
PATH C:\Program Files\Java\jdk1.8.0_60\bin;C:\Users\Public\Documents\Embarcadero\InterBase\redist\InterBase2020\IDE_spoof;C:\ProgramData\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:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;%DXVCL%\Library\RS26;%DXVCL%\Library\RS26\Win64;c:\program files (x86)\embarcadero\studio\20.0\NewVCL\BPL\%Platform%\debug;C:\Users\Shane\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Embarcadero\Studio\20.0\NewVCL\BPL\Win32\debug;C:\Program Files\Java\jdk1.7.0_80\bin;C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\converters\java2op;c:\program files (x86)\embarcadero\studio\20.0\redist\boost\win64;c:\program files (x86)\embarcadero\studio\20.0\redist\boost\win32c & "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:\ePaymentAmerica\FirstMobileApp\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:\ePaymentAmerica\FirstMobileApp\Android\Debug\calc-277.3-dexed.jar" "C:\ePaymentAmerica\FirstMobileApp\Android\Debug\classes-dexed.jar"
Merged dex #1 (23 defs/32.0KiB)
Merged dex #2 (3947 defs/2744.2KiB)
Merged dex #3 (680 defs/848.4KiB)
Merged dex #4 (7 defs/8.3KiB)
Merged dex #5 (120 defs/115.8KiB)
Result is 4777 defs/4673.6KiB. Took 0.3s
Target MakeObjs:
Target _CppDepCheck:
Skipping: ApplicationConfigDataModule.cpp;FieldNameConstants.cpp;FirstMobileApp.cpp;FirstMobileAppConstants.cpp;SSBooleanStateObject.cpp;SSConstants.cpp;SSDataSetAPI.cpp;SSDataSetBookmark.cpp;SSDataSetBookmarkVector.cpp;SSDataSetControlEnabler.cpp;SSDataSetFilter.cpp;SSDataTypes.cpp;SSDateTimeAPI.cpp;SSDebugRoutines.cpp;SSException.cpp;SSExceptionAPI.cpp;SSFmxClipboardDataModule.cpp;SSFmxProgressDialog.cpp;SSJsonAPIDataModule.cpp;SSStrings.cpp;SSVariantAPI.cpp;Tokenizer.cpp;TokenizerDelimiter.cpp;YCSAPIDataModule.cpp
Modified: MainForm.cpp
Target _PCHDepCheck:
Skipping: FirstMobileAppPCH1.h
Target CppCompile:
Target _CppCoreCompile:
Target _CLANGCoreCompile:
c:\program files (x86)\embarcadero\studio\20.0\bin\bccaarm.exe -cc1 -D _DEBUG -output-dir .\Android\Debug -isysroot C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.36039.7899\sysroot -idirafter =\usr\include -idirafter =\usr\include\arm-linux-androideabi -idirafter C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.36039.7899\sources\cxx-stl\gnu-libstdc++\4.9\include -idirafter 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\include -idirafter C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.36039.7899\sources\android\native_app_glue -I C:\ePaymentAmerica\FirstMobileApp -I "c:\program files (x86)\embarcadero\studio\20.0\NewVCL\BPL\Android\debug" -I "c:\program files (x86)\embarcadero\studio\20.0\include\android\fmx" -I ..\CloverAPIJava -I C:\ePaymentAmerica\FirstMobileApp -isystem "C:\Program Files (x86)\Embarcadero\Studio\20.0\NewVCL\FirePower12\include\20.0\Android" -isystem "c:\program files (x86)\embarcadero\studio\20.0\include" -isystem "c:\program files (x86)\embarcadero\studio\20.0\include\android\rtl" -isystem "c:\program files (x86)\embarcadero\studio\20.0\include\android\fmx" -isystem "c:\program files (x86)\embarcadero\studio\20.0\include\android\crtl" -isystem C:\Users\Public\Documents\Embarcadero\Studio\20.0\hpp\Android -isystem "C:\Program Files (x86)\Embarcadero\Studio\20.0\NewVCL\UniDAC\Include\Android32" -debug-info-kind=standalone -fborland-extensions -fborland-auto-refcount -nobuiltininc -nostdsysteminc -triple thumbv7-none-linux-androideabi -emit-obj -mconstructor-aliases -masm-verbose -target-abi aapcs-linux -target-cpu cortex-a8 -nostdinc++ -fdeprecated-macro -fexceptions -fcxx-exceptions -munwind-tables -mstackrealign -fno-spell-checking -main-file-name MainForm.cpp -x c++ -std=c++11 -O0 -fmath-errno -tU -o .\Android\Debug\MainForm.o -dependency-file .\Android\Debug\MainForm.d -MT .\Android\Debug\MainForm.o -Werror MainForm.cpp
Target RcCompile:
Target BuildVersionResource:
c:\program files (x86)\embarcadero\studio\20.0\bin\cgrc.exe -c65001 FirstMobileApp.vrc -foFirstMobileApp.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 "FirstMobileApp.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\NewVCL\BPL\Win32\debug" -L..\CloverAPIJava -LC:\ePaymentAmerica\FirstMobileApp -L"C:\Program Files (x86)\Embarcadero\Studio\20.0\NewVCL\BPL\Android\debug" -L"C:\Program Files (x86)\Embarcadero\Studio\20.0\NewVCL\FirePower12\lib\20.0\Android\release" -L"c:\program files (x86)\embarcadero\studio\20.0\lib\Android\debug" -L"c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release" -L"C:\Program Files (x86)\Embarcadero\Studio\20.0\NewVCL\UniDAC\Lib\Android32" -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\FirstMobileAppStart.lnk -lrtlhelper @.\Android\Debug\FirstMobileApp.lnk -lrtle -lrtl -lfmx -lbindcomp -ldbrtl -lbindengine -lRESTComponents -lCustomIPTransport -lkbmMemRunD103Std -ldac260 -lvquery260 -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\libFirstMobileApp.so
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3PagerSetCodec(void*, void*, void*, void*, void*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual25lite_sqlite3PagerSetCodecEPvS0_S0_S0_S0_[_ZN17Litestaticvirtual25lite_sqlite3PagerSetCodecEPvS0_S0_S0_S0_]+0xe): undefined reference to `lite_sqlite3PagerSetCodec'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3GetBackend(void*, int)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual22lite_sqlite3GetBackendEPvi[_ZN17Litestaticvirtual22lite_sqlite3GetBackendEPvi]+0x4): undefined reference to `lite_sqlite3GetBackend'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3BtreeGetPageSize(void*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual28lite_sqlite3BtreeGetPageSizeEPv[_ZN17Litestaticvirtual28lite_sqlite3BtreeGetPageSizeEPv]+0x4): undefined reference to `lite_sqlite3BtreeGetPageSize'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3BtreeBeginTrans(void*, int, int*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual27lite_sqlite3BtreeBeginTransEPviPi[_ZN17Litestaticvirtual27lite_sqlite3BtreeBeginTransEPviPi]+0x4): undefined reference to `lite_sqlite3BtreeBeginTrans'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3BtreeCommit(void*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual23lite_sqlite3BtreeCommitEPv[_ZN17Litestaticvirtual23lite_sqlite3BtreeCommitEPv]+0x4): undefined reference to `lite_sqlite3BtreeCommit'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3BtreeRollback(void*, int)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual25lite_sqlite3BtreeRollbackEPvi[_ZN17Litestaticvirtual25lite_sqlite3BtreeRollbackEPvi]+0x4): undefined reference to `lite_sqlite3BtreeRollback'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3GetBtreePager(void*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual25lite_sqlite3GetBtreePagerEPv[_ZN17Litestaticvirtual25lite_sqlite3GetBtreePagerEPv]+0x4): undefined reference to `lite_sqlite3GetBtreePager'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3PagerGetCodec(void*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual25lite_sqlite3PagerGetCodecEPv[_ZN17Litestaticvirtual25lite_sqlite3PagerGetCodecEPv]+0x4): undefined reference to `lite_sqlite3PagerGetCodec'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3PagerPagecount(void*, int*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual26lite_sqlite3PagerPagecountEPvPi[_ZN17Litestaticvirtual26lite_sqlite3PagerPagecountEPvPi]+0x4): undefined reference to `lite_sqlite3PagerPagecount'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3PagerIsMjPgno(void*, unsigned int)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual25lite_sqlite3PagerIsMjPgnoEPvj[_ZN17Litestaticvirtual25lite_sqlite3PagerIsMjPgnoEPvj]+0x4): undefined reference to `lite_sqlite3PagerIsMjPgno'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3PagerGet(void*, unsigned int, void*, int)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual20lite_sqlite3PagerGetEPvjS0_i[_ZN17Litestaticvirtual20lite_sqlite3PagerGetEPvjS0_i]+0x4): undefined reference to `lite_sqlite3PagerGet'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3PagerWrite(void*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual22lite_sqlite3PagerWriteEPv[_ZN17Litestaticvirtual22lite_sqlite3PagerWriteEPv]+0x4): undefined reference to `lite_sqlite3PagerWrite'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::lite_sqlite3PagerUnref(void*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual22lite_sqlite3PagerUnrefEPv[_ZN17Litestaticvirtual22lite_sqlite3PagerUnrefEPv]+0x4): undefined reference to `lite_sqlite3PagerUnref'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::sqlite3InitVfsFunctions(Litecallvirtual::sqlite3_vfs*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual23sqlite3InitVfsFunctionsEPN15Litecallvirtual11sqlite3_vfsE[_ZN17Litestaticvirtual23sqlite3InitVfsFunctionsEPN15Litecallvirtual11sqlite3_vfsE]+0x4): undefined reference to `sqlite3InitVfsFunctions'
c:\program files (x86)\embarcadero\studio\20.0\lib\Android\release\libvquery260.a(LiteStaticVirtual.o): In function `Litestaticvirtual::sqlite3InitCodecFunctions(Litecallvirtual::sqlite3_codec*)':
LiteStaticVirtual:(.text._ZN17Litestaticvirtual25sqlite3InitCodecFunctionsEPN15Litecallvirtual13sqlite3_codecE[_ZN17Litestaticvirtual25sqlite3InitCodecFunctionsEPN15Litecallvirtual13sqlite3_codecE]+0x4): undefined reference to `sqlite3InitCodecFunctions'
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 "FirstMobileApp.cbproj" -- FAILED.
Done building target "_PerformLink" in project "FirstMobileApp.cbproj" -- FAILED.
Done building project "FirstMobileApp.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:18.29
How / what libraries do I need to add with #pragmas ?

Thanks in advance,

Aggie85

Aggie85
Posts: 87
Joined: Wed 11 Nov 2015 17:03

Re: Latest Unidac with C++ Builder 10.3.3

Post by Aggie85 » Fri 13 Dec 2019 02:04

Howdy All!

I solved the problem by adding the following object file to my build:

C:\Program Files (x86)\Embarcadero\Studio\20.0\NewVCL\UniDAC\Lib\Android32sqlite3android32.o

Is there away to use the #pragma link or #pragma comment to add the file so I don't have to manually exclude the file when I build between Android and IOS?

Thanks in advance,

Aggie85

MaximG
Devart Team
Posts: 1501
Joined: Mon 06 Jul 2015 11:34

Re: Latest Unidac with C++ Builder 10.3.3

Post by MaximG » Fri 13 Dec 2019 10:43

Due to the specifics of C++ Builder, the only way to get rid of such an error at the moment, is to manually add the necessary libraries to the project.

alexia30
Posts: 1
Joined: Fri 13 Dec 2019 10:53
Location: Amsterdam,Netherlands
Contact:

Re: Latest Unidac with C++ Builder 10.3.3

Post by alexia30 » Fri 13 Dec 2019 11:02

Thanks, for the valuable information, It was really helpful in my next project.

Post Reply