Page 1 of 1

Linker errors when building for Android

Posted: Fri Feb 21, 2014 2:48 pm
by 16464329
Hello,

I just did a first install of TeeCharts Pro 2013 09.131119 for Delphi XE5 Update 2 and created a new FireMonkey Blank application with just a TChart component on it (without changing any of its properties) to see i can build the application for Android.
I cannot build the project and I get many error messages from the linker:
Build
Checking project dependencies...
Building Project1.dproj (Debug, Android)
brcc32 command line for "Project1.vrc"
c:\program files (x86)\embarcadero\rad studio\12.0\bin\cgrc.exe -c65001 "Project1.vrc" -foProject1.res
dcc command line for "Project1.dpr"
c:\program files (x86)\embarcadero\rad studio\12.0\bin\dccaarm.exe -$O- --no-config -B -Q -TX.so -AGenerics.Collections=System.Generics.Collections;
Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG
-E.\Android\Debug -I"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\debug";"C:\Program Files (x86)\Steema Software\TeeChart 2013 for
RAD XE5\Delphi19.android\Lib";"C:\Program Files (x86)\Woll2Woll\ipstudioxe5\lib\xe5fmx\Android";"c:\program files (x86)\embarcadero\rad
studio\12.0\lib\Android\Release";D:\DelphiComponents\UniDAC_v5_2_5\Lib\Android;"C:\Program Files (x86)\Steema Software\TeeChart 2013 for RAD
XE5\Delphi19.android\Lib" -LE"C:\Users\Public\Documents\RAD Studio\12.0\Bpl\Android" -LN"C:\Users\Public\Documents\RAD Studio\12.0\Dcp\Android"
-NU.\Android\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap; -O"C:\Program Files (x86)\Woll2Woll\ipstudioxe5\lib\xe5fmx\Android";"c:\program files
(x86)\embarcadero\rad studio\12.0\lib\Android\Release";D:\DelphiComponents\UniDAC_v5_2_5\Lib\Android;"C:\Program Files (x86)\Steema Software\TeeChart
2013 for RAD XE5\Delphi19.android\Lib" -R"C:\Program Files (x86)\Woll2Woll\ipstudioxe5\lib\xe5fmx\Android";"c:\program files (x86)\embarcadero\rad
studio\12.0\lib\Android\Release";D:\DelphiComponents\UniDAC_v5_2_5\Lib\Android;"C:\Program Files (x86)\Steema Software\TeeChart 2013 for RAD
XE5\Delphi19.android\Lib" -U"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\debug";"C:\Program Files (x86)\Steema Software\TeeChart
2013 for RAD XE5\Delphi19.android\Lib";"C:\Program Files (x86)\Woll2Woll\ipstudioxe5\lib\xe5fmx\Android";"c:\program files (x86)\embarcadero\rad
studio\12.0\lib\Android\Release";D:\DelphiComponents\UniDAC_v5_2_5\Lib\Android;"C:\Program Files (x86)\Steema Software\TeeChart 2013 for RAD
XE5\Delphi19.android\Lib" --libpath:"C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\platforms\android-14\arch-arm\usr\lib"
--linker:"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" -V -VN
--linker-option:" -L \"C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\sources\cxx-stl\stlport\libs\armeabi-v7a\""
-NO.\Android\Debug Project1.dpr
[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: C:\Program Files (x86)\Steema Software\TeeChart 2013 for RAD XE5\Delphi19.android\Lib\FMXTee.Html.o: in function Fmxtee::Html::InternalHtmlText(System::DelphiObject<Fmxtee::Canvas::TTeeCanvas>, float, float, System::UnicodeString, bool)::ProcessFont(void*, System::UnicodeString):FMXTee.Html(.text._ZZN6Fmxtee4Html16InternalHtmlTextEN6System12DelphiObjectINS_6Canvas10TTeeCanvasEEEffNS1_13UnicodeStringEbE11ProcessFontPvS6_+0x274): error: undefined reference to 'System::_RaiseExcept(System::DelphiObject<System::TObject>)'
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: C:\Program Files (x86)\Steema Software\TeeChart 2013 for RAD XE5\Delphi19.android\Lib\FMXTee.Html.o: in function Fmxtee::Html::InternalHtmlText(System::DelphiObject<Fmxtee::Canvas::TTeeCanvas>, float, float, System::UnicodeString, bool)::ProcessFont(void*, System::UnicodeString):FMXTee.Html(.text._ZZN6Fmxtee4Html16InternalHtmlTextEN6System12DelphiObjectINS_6Canvas10TTeeCanvasEEEffNS1_13UnicodeStringEbE11ProcessFontPvS6_+0x352): error: undefined reference to 'System::_RaiseExcept(System::DelphiObject<System::TObject>)'
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: C:\Program Files (x86)\Steema Software\TeeChart 2013 for RAD XE5\Delphi19.android\Lib\FMXTee.Html.o: in function Fmxtee::Html::InternalHtmlText(System::DelphiObject<Fmxtee::Canvas::TTeeCanvas>, float, float, System::UnicodeString, bool)::DoImage(void*, System::UnicodeString):FMXTee.Html(.text._ZZN6Fmxtee4Html16InternalHtmlTextEN6System12DelphiObjectINS_6Canvas10TTeeCanvasEEEffNS1_13UnicodeStringEbE7DoImagePvS6_+0x19a): error: undefined reference to 'System::_InstCopy(System::DelphiObject<System::TObject>&, System::DelphiObject<System::TObject>)'
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: C:\Program Files (x86)\Steema Software\TeeChart 2013 for RAD XE5\Delphi19.android\Lib\FMXTee.Html.o: in function Fmxtee::Html::InternalHtmlText(System::DelphiObject<Fmxtee::Canvas::TTeeCanvas>, float, float, System::UnicodeString, bool)::DoImage(void*, System::UnicodeString):FMXTee.Html(.text._ZZN6Fmxtee4Html16InternalHtmlTextEN6System12DelphiObjectINS_6Canvas10TTeeCanvasEEEffNS1_13UnicodeStringEbE7DoImagePvS6_+0x21a): error: undefined reference to 'Fmx::Graphics::TBitmap::LoadFromStream(System::DelphiObject<System::Classes::TStream>)'

...

MSBUILD : 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: .\Android\Debug\Project1.o: in function _ZN8Project10E:Project1(.data.rel.ro._ZN8Project10E+0x69f4): error: undefined reference to '_ZTRN6Fmxtee5Procs17TTeeTranslateHookE'
MSBUILD : 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: .\Android\Debug\Project1.o: in function _ZN8Project10E:Project1(.data.rel.ro._ZN8Project10E+0x69f8): error: undefined reference to '_ZTRN6Fmxtee5Procs23TTeeTranslateStringHookE'
MSBUILD : 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: .\Android\Debug\Project1.o: in function _ZN8Project10E:Project1(.data.rel.ro._ZN8Project10E+0x69fc): error: undefined reference to '_ZTRN6Fmxtee5Procs19TTeeDownloadURLProcE'
MSBUILD : 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: .\Android\Debug\Project1.o:(__DATA,__data+0x27c): error: undefined reference to '__FMXTee.Html_init_record'
MSBUILD : 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: .\Android\Debug\Project1.o:(__DATA,__data+0x280): error: undefined reference to '__FMXTee.Constants_init_record'
MSBUILD : 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: .\Android\Debug\Project1.o:(__DATA,__data+0x284): error: undefined reference to '__FMXTee.Canvas_init_record'
MSBUILD : 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: .\Android\Debug\Project1.o:(__DATA,__data+0x288): error: undefined reference to '__FMXTee.Procs_init_record'
MSBUILD : 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: .\Android\Debug\Project1.o:(__DATA,__data+0x28c): error: undefined reference to '__FMXTee.Engine_init_record'
MSBUILD : 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: .\Android\Debug\Project1.o:(__DATA,__data+0x290): error: undefined reference to '__FMXTee.Chart_init_record'
c:\program files (x86)\embarcadero\rad studio\12.0\Bin\CodeGear.Delphi.Targets(187,5): error F2588: F2588 Linker error code: 1 ($00000001)
0 Warning(s)
938 Error(s)
Time Elapsed 00:01:11.24
I tried to build the same application for Win32 and it worked fine.
If I remove the TChart component, it builds fine for Android.
Any idea on what could be wrong when I am targeting Android?

Thanks in advance for any feedback.

Re: Linker errors when building for Android

Posted: Mon Feb 24, 2014 12:26 pm
by narcis
Hello,

You could try using the new maintenance release we just published.

Re: Linker errors when building for Android

Posted: Mon Feb 24, 2014 4:46 pm
by 16464329
I tried with the latest build (Build 2014 10.140220) and it worked.
I can now build my simple test project and run it on an Android device.

Thanks for the follow-up.