View Issue Details

IDProjectCategoryView StatusLast Update
0001855NoesisGUIC++ SDKpublic2021-03-15 14:17
ReporterdaldegamAssigned Tojsantos 
PrioritynormalSeverityblockReproducibilityalways
Status resolvedResolutionreopened 
Product Version3.0.8 
Target Version3.0.9Fixed in Version3.0.11 
Summary0001855: NativeSDK - RTTI Support
DescriptionHello!

I need to know if it is possible to Noesis NativeSDK for Android (Noesis.so) to be compiled with RTTI enabled.
I know that Noesis doesn't need of RTTI, but my project does.

It is already a big project that we are implementing the noesis engine.

We were able to work with noesis on our Windows project with visual studio, but when we compile the android version, the compiler doesn't link successfully because noesis.so is compiled with -fno-rtti.

Some sample of linker erros:
error: undefined reference to 'typeinfo for Noesis::BaseObject'
error: undefined reference to 'typeinfo for Noesis::BaseComponent'
error: undefined reference to 'typeinfo for Noesis::UserControl'
error: undefined reference to 'typeinfo for Noesis::ValueStorageManager'
error: undefined reference to 'typeinfo for Noesis::BoxedValue'
error: undefined reference to 'typeinfo for Noesis::TypeProperty'
error: undefined reference to 'typeinfo for Noesis::Grid'
error: undefined reference to 'typeinfo for Noesis::BaseComponent'
error: undefined reference to 'typeinfo for Noesis::Canvas'
error: undefined reference to 'typeinfo for Noesis::UIElement'

Thanks in advance,
Leandro Daldegam
Steps To ReproduceIf you want to reproduce, change -fno-rtti from Packages\Samples\Login\Projects\android_x86\Makefile to -frtti;

You will got some erros like that:

==== [Samples.Login] Building 'Release' configuration ====
[CC] android_native_app_glue.c
[BIN] [Samples/Login] App.xaml
[BIN] [Samples/Login] MainWindow.xaml
[BIN] [Samples/Login] Resources.xaml
[BIN] [Samples/Login] Login.mp3
[BIN] [Samples/Login] Fail.mp3
[BIN] [Samples/Login] Aero Matics Regular.ttf
[CXX] [Samples/Login] App.xaml.cpp
[CXX] [Samples/Login] Main.cpp
[CXX] [Samples/Login] MainWindow.xaml.cpp
[CXX] [Samples/Login] ViewModel.cpp
[LD] libSamples_Login.so
lto-llvm-19a866.o:ld-temp.o:typeinfo for Login::App: error: undefined reference to 'typeinfo for NoesisApp::Application'
lto-llvm-19a866.o:ld-temp.o:typeinfo for AppLauncher: error: undefined reference to 'typeinfo for NoesisApp::ApplicationLauncher'
lto-llvm-19a866.o:ld-temp.o:typeinfo for Noesis::Delegate<void (Noesis::BaseComponent*, Noesis::EventArgs const&)>::MultiDelegate::DelegateVector: error: undefined reference to 'typeinfo for Noesis::BaseComponent'
lto-llvm-19a866.o:ld-temp.o:typeinfo for Login::MainWindow: error: undefined reference to 'typeinfo for NoesisApp::Window'
lto-llvm-19a866.o:ld-temp.o:typeinfo for Noesis::Delegate<void (Noesis::BaseComponent*)>::MultiDelegate::DelegateVector: error: undefined reference to 'typeinfo for Noesis::BaseComponent'
lto-llvm-19a866.o:ld-temp.o:typeinfo for Login::ViewModel: error: undefined reference to 'typeinfo for NoesisApp::NotifyPropertyChangedBase'
lto-llvm-19a866.o:ld-temp.o:typeinfo for Noesis::TypePropertyFunction<Login::ViewModel, NoesisApp::DelegateCommand const*>: error: undefined reference to 'typeinfo for Noesis::TypeProperty'
lto-llvm-19a866.o:ld-temp.o:typeinfo for Noesis::TypePropertyFunction<Login::ViewModel, char const*>: error: undefined reference to 'typeinfo for Noesis::TypeProperty'
lto-llvm-19a866.o:ld-temp.o:typeinfo for Noesis::Boxed<Noesis::FixedString<24u> >: error: undefined reference to 'typeinfo for Noesis::BoxedValue'
clang++: fatal error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Makefile:188: ../../../../../../Bin/android_x86/libSamples_Login.so] Error 1
make: *** [NoesisGUI-android-x86.mk:78: Samples.Login] Error 2
TagsNo tags attached.
PlatformAny

Activities

jsantos

jsantos

2021-03-15 14:17

manager   ~0007079

Not properly fixed on 3.0.9

Issue History

Date Modified Username Field Change
2020-12-08 15:10 daldegam New Issue
2020-12-08 18:30 jsantos Assigned To => jsantos
2020-12-08 18:30 jsantos Status new => assigned
2020-12-08 18:31 jsantos Target Version => 3.0.9
2021-01-08 11:13 jsantos Status assigned => resolved
2021-01-08 11:13 jsantos Resolution open => fixed
2021-03-15 14:17 jsantos Status resolved => feedback
2021-03-15 14:17 jsantos Resolution fixed => reopened
2021-03-15 14:17 jsantos Note Added: 0007079
2021-03-15 14:17 jsantos Status feedback => resolved
2021-03-15 14:17 jsantos Fixed in Version => 3.0.11