eez-open / studio

Cross-platform low-code GUI and automation
https://www.envox.eu/studio/studio-introduction/
GNU General Public License v3.0
601 stars 99 forks source link

eez-flow.cpp compile err #623

Open chxzh123 opened 2 weeks ago

chxzh123 commented 2 weeks ago

use gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc compile eez-flow.cpp, failed. Has anyone encountered this problem before?

...... /mnt/hgfs/glue_soft/project/lv840_port_linux/eez_ui/eez-flow.cpp -lm /tmp/cclUwyd9.o: In function eez::compare_JSON_MEMBER_VALUE_value(eez::Value const&, eez::Value const&)': eez-flow.cpp:(.text+0x47b6): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o: In function eez::JSON_MEMBER_VALUE_value_to_text(eez::Value const&, char*, int)': eez-flow.cpp:(.text+0x47fe): undefined reference to__cxa_end_cleanup' /tmp/cclUwyd9.o: In function eez::JSON_MEMBER_VALUE_value_type_name(eez::Value const&)': eez-flow.cpp:(.text+0x484e): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o: In function eez::VALUE_PTR_value_type_name(eez::Value const&)': eez-flow.cpp:(.text+0x4b6e): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o: In function eez::compare_ARRAY_ELEMENT_VALUE_value(eez::Value const&, eez::Value const&)': eez-flow.cpp:(.text+0x4bde): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:eez-flow.cpp:(.text+0x4c26): more undefined references to __cxa_end_cleanup' follow /tmp/cclUwyd9.o: In functioneez::ArrayValueRef::~ArrayValueRef()': eez-flow.cpp:(.text+0x50aa): undefined reference to operator delete(void*, unsigned int)' /tmp/cclUwyd9.o: In functioneez::assignValue(eez::Value&, eez::Value const&, unsigned int)': eez-flow.cpp:(.text+0x52a4): undefined reference to __cxa_end_cleanup' eez-flow.cpp:(.text+0x52b2): undefined reference tocxa_end_cleanup' eez-flow.cpp:(.text+0x52c0): undefined reference to `cxa_end_cleanup' eez-flow.cpp:(.text+0x52ce): undefined reference to __cxa_end_cleanup' eez-flow.cpp:(.text+0x52dc): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:eez-flow.cpp:(.text+0x52ea): more undefined references to `cxa_end_cleanup' follow /tmp/cclUwyd9.o: In function eez::flow::MQTTEventActionComponenentExecutionState::~MQTTEventActionComponenentExecutionState()': eez-flow.cpp:(.text+0x12c7e): undefined reference tooperator delete(void, unsigned int)' /tmp/cclUwyd9.o: In function `eez::flow::executeMQTTInitComponent(eez::flow::FlowState, unsigned int)': eez-flow.cpp:(.text+0x133ea): undefined reference to __cxa_end_cleanup' /tmp/cclUwyd9.o: In functioneez::flow::executeMQTTConnectComponent(eez::flow::FlowState, unsigned int)': eez-flow.cpp:(.text+0x13554): undefined reference to __cxa_end_cleanup' /tmp/cclUwyd9.o: In functioneez::flow::executeMQTTDisconnectComponent(eez::flow::FlowState, unsigned int)': eez-flow.cpp:(.text+0x136bc): undefined reference to __cxa_end_cleanup' /tmp/cclUwyd9.o: In functioneez::flow::executeMQTTEventComponent(eez::flow::FlowState, unsigned int)': eez-flow.cpp:(.text+0x13850): undefined reference to __cxa_end_cleanup' /tmp/cclUwyd9.o: In functioneez::flow::executeMQTTSubscribeComponent(eez::flow::FlowState, unsigned int)': eez-flow.cpp:(.text+0x13a7c): undefined reference to __cxa_end_cleanup' /tmp/cclUwyd9.o:eez-flow.cpp:(.text+0x13caa): more undefined references tocxa_end_cleanup' follow /tmp/cclUwyd9.o: In function eez::flow::getDateNowDefaultImplementation()': eez-flow.cpp:(.text+0x192ca): undefined reference tostd::chrono::_V2::system_clock::now()' /tmp/cclUwyd9.o: In function flowPropagateValueInt32': eez-flow.cpp:(.text+0x19ad8): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o: In function flowPropagateValueUint32': eez-flow.cpp:(.text+0x19b22): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o: In function flowPropagateValueLVGLEvent': eez-flow.cpp:(.text+0x19c2c): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o: In function evalTextProperty': eez-flow.cpp:(.text+0x19cc8): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o: In function evalIntegerProperty': eez-flow.cpp:(.text+0x19d6e): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:eez-flow.cpp:(.text+0x19e18): more undefined references to __cxa_end_cleanup' follow /tmp/cclUwyd9.o: In function.LC347': eez-flow.cpp:(.rodata+0x1bf4): undefined reference to vtable for __cxxabiv1::__si_class_type_info' eez-flow.cpp:(.rodata+0x1c38): undefined reference tovtable for cxxabiv1::si_class_type_info' /tmp/cclUwyd9.o: In function eez::Ref::~Ref()': eez-flow.cpp:(.text._ZN3eez3RefD0Ev[_ZN3eez3RefD5Ev]+0x12): undefined reference tooperator delete(void, unsigned int)' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez5ValueD2Ev[_ZN3eez5ValueD5Ev]+0x0): undefined reference to __gxx_personality_v0' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez9StringRefD2Ev[_ZN3eez9StringRefD5Ev]+0x0): undefined reference to__gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::StringRef::~StringRef()': eez-flow.cpp:(.text._ZN3eez9StringRefD0Ev[_ZN3eez9StringRefD5Ev]+0x12): undefined reference tooperator delete(void, unsigned int)' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez7BlobRefD2Ev[_ZN3eez7BlobRefD5Ev]+0x0): undefined reference to __gxx_personality_v0' /tmp/cclUwyd9.o: In functioneez::BlobRef::~BlobRef()': eez-flow.cpp:(.text._ZN3eez7BlobRefD0Ev[_ZN3eez7BlobRefD5Ev]+0x12): undefined reference to operator delete(void*, unsigned int)' /tmp/cclUwyd9.o:(.ARM.extab+0x150): undefined reference togxx_personality_v0' /tmp/cclUwyd9.o:(.ARM.extab+0x170): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o:(.ARM.extab+0x18c): undefined reference to __gxx_personality_v0' /tmp/cclUwyd9.o:(.ARM.extab+0x1d8): undefined reference togxx_personality_v0' /tmp/cclUwyd9.o:(.ARM.extab+0x1f0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o:(.ARM.extab+0x210): more undefined references to __gxx_personality_v0' follow /tmp/cclUwyd9.o: In functioneez::flow::ComponenentExecutionState::~ComponenentExecutionState()': eez-flow.cpp:(.text._ZN3eez4flow25ComponenentExecutionStateD0Ev[_ZN3eez4flow25ComponenentExecutionStateD5Ev]+0x12): undefined reference to operator delete(void*, unsigned int)' /tmp/cclUwyd9.o: In functioneez::flow::EvalStack::push(eez::Value)': eez-flow.cpp:(.text._ZN3eez4flow9EvalStack4pushEPNS_5ValueE[_ZN3eez4flow9EvalStack4pushEPNS_5ValueE]+0x60): undefined reference to __cxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez4flow9EvalStack4pushEPNS_5ValueE[_ZN3eez4flow9EvalStack4pushEPNS_5ValueE]+0x0): undefined reference togxx_personality_v0' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez4flow28LVGLUserWidgetExecutionStateD2Ev[_ZN3eez4flow28LVGLUserWidgetExecutionStateD5Ev]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::flow::LVGLUserWidgetExecutionState::~LVGLUserWidgetExecutionState()': eez-flow.cpp:(.text._ZN3eez4flow28LVGLUserWidgetExecutionStateD0Ev[_ZN3eez4flow28LVGLUserWidgetExecutionStateD5Ev]+0x12): undefined reference tooperator delete(void, unsigned int)' /tmp/cclUwyd9.o: In function eez::ObjectAllocator<eez::flow::AnimateComponenentExecutionState>::allocate(unsigned int)': eez-flow.cpp:(.text._ZN3eez15ObjectAllocatorINS_4flow32AnimateComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow32AnimateComponenentExecutionStateEE8allocateEj]+0x3a): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez15ObjectAllocatorINS_4flow32AnimateComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow32AnimateComponenentExecutionStateEE8allocateEj]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::ObjectAllocator<eez::flow::CounterComponenentExecutionState>::allocate(unsigned int)': eez-flow.cpp:(.text._ZN3eez15ObjectAllocatorINS_4flow32CounterComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow32CounterComponenentExecutionStateEE8allocateEj]+0x3a): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez15ObjectAllocatorINS_4flow32CounterComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow32CounterComponenentExecutionStateEE8allocateEj]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::ObjectAllocator<eez::flow::DelayComponenentExecutionState>::allocate(unsigned int)': eez-flow.cpp:(.text._ZN3eez15ObjectAllocatorINS_4flow30DelayComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow30DelayComponenentExecutionStateEE8allocateEj]+0x3a): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez15ObjectAllocatorINS_4flow30DelayComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow30DelayComponenentExecutionStateEE8allocateEj]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::ObjectAllocator<eez::flow::InputActionComponentExecutionState>::allocate(unsigned int)': eez-flow.cpp:(.text._ZN3eez15ObjectAllocatorINS_4flow34InputActionComponentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow34InputActionComponentExecutionStateEE8allocateEj]+0x3a): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez15ObjectAllocatorINS_4flow34InputActionComponentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow34InputActionComponentExecutionStateEE8allocateEj]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::ObjectAllocator<eez::flow::LoopComponenentExecutionState>::allocate(unsigned int)': eez-flow.cpp:(.text._ZN3eez15ObjectAllocatorINS_4flow29LoopComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow29LoopComponenentExecutionStateEE8allocateEj]+0x3a): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez15ObjectAllocatorINS_4flow29LoopComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow29LoopComponenentExecutionStateEE8allocateEj]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::ObjectAllocator<eez::flow::LVGLExecutionState>::allocate(unsigned int)': eez-flow.cpp:(.text._ZN3eez15ObjectAllocatorINS_4flow18LVGLExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow18LVGLExecutionStateEE8allocateEj]+0x3a): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez15ObjectAllocatorINS_4flow18LVGLExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow18LVGLExecutionStateEE8allocateEj]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::ObjectAllocator<eez::flow::LVGLUserWidgetExecutionState>::allocate(unsigned int)': eez-flow.cpp:(.text._ZN3eez15ObjectAllocatorINS_4flow28LVGLUserWidgetExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow28LVGLUserWidgetExecutionStateEE8allocateEj]+0x3a): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez15ObjectAllocatorINS_4flow28LVGLUserWidgetExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow28LVGLUserWidgetExecutionStateEE8allocateEj]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::ObjectAllocator<eez::flow::MQTTEventActionComponenentExecutionState>::allocate(unsigned int)': eez-flow.cpp:(.text._ZN3eez15ObjectAllocatorINS_4flow40MQTTEventActionComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow40MQTTEventActionComponenentExecutionStateEE8allocateEj]+0x3a): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez15ObjectAllocatorINS_4flow40MQTTEventActionComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow40MQTTEventActionComponenentExecutionStateEE8allocateEj]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::ObjectAllocator<eez::flow::WatchVariableComponenentExecutionState>::allocate(unsigned int)': eez-flow.cpp:(.text._ZN3eez15ObjectAllocatorINS_4flow38WatchVariableComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow38WatchVariableComponenentExecutionStateEE8allocateEj]+0x3a): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez15ObjectAllocatorINS_4flow38WatchVariableComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow38WatchVariableComponenentExecutionStateEE8allocateEj]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::ObjectAllocator<eez::flow::CatchErrorComponenentExecutionState>::allocate(unsigned int)': eez-flow.cpp:(.text._ZN3eez15ObjectAllocatorINS_4flow35CatchErrorComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow35CatchErrorComponenentExecutionStateEE8allocateEj]+0x3a): undefined reference tocxa_end_cleanup' /tmp/cclUwyd9.o:(.ARM.extab.text._ZN3eez15ObjectAllocatorINS_4flow35CatchErrorComponenentExecutionStateEE8allocateEj[_ZN3eez15ObjectAllocatorINS_4flow35CatchErrorComponenentExecutionStateEE8allocateEj]+0x0): undefined reference to `gxx_personality_v0' /tmp/cclUwyd9.o: In function eez::flow::WatchVariableComponenentExecutionState::~WatchVariableComponenentExecutionState()': eez-flow.cpp:(.text._ZN3eez4flow38WatchVariableComponenentExecutionStateD0Ev[_ZN3eez4flow38WatchVariableComponenentExecutionStateD5Ev]+0x12): undefined reference tooperator delete(void, unsigned int)' /tmp/cclUwyd9.o: In function eez::flow::LVGLExecutionState::~LVGLExecutionState()': eez-flow.cpp:(.text._ZN3eez4flow18LVGLExecutionStateD0Ev[_ZN3eez4flow18LVGLExecutionStateD5Ev]+0x12): undefined reference tooperator delete(void, unsigned int)' /tmp/cclUwyd9.o: In function eez::flow::LoopComponenentExecutionState::~LoopComponenentExecutionState()': eez-flow.cpp:(.text._ZN3eez4flow29LoopComponenentExecutionStateD0Ev[_ZN3eez4flow29LoopComponenentExecutionStateD5Ev]+0x12): undefined reference tooperator delete(void, unsigned int)' /tmp/cclUwyd9.o: In function eez::flow::DelayComponenentExecutionState::~DelayComponenentExecutionState()': eez-flow.cpp:(.text._ZN3eez4flow30DelayComponenentExecutionStateD0Ev[_ZN3eez4flow30DelayComponenentExecutionStateD5Ev]+0x12): undefined reference tooperator delete(void, unsigned int)' /tmp/cclUwyd9.o: In function eez::flow::CounterComponenentExecutionState::~CounterComponenentExecutionState()': eez-flow.cpp:(.text._ZN3eez4flow32CounterComponenentExecutionStateD0Ev[_ZN3eez4flow32CounterComponenentExecutionStateD5Ev]+0x12): undefined reference tooperator delete(void, unsigned int)' /tmp/cclUwyd9.o:eez-flow.cpp:(.text._ZN3eez4flow32AnimateComponenentExecutionStateD0Ev[_ZN3eez4flow32AnimateComponenentExecutionStateD5Ev]+0x12): more undefined references to `operator delete(void, unsigned int)' follow /tmp/cclUwyd9.o:(.rodata._ZTIN3eez4flow38WatchVariableComponenentExecutionStateE[_ZTIN3eez4flow38WatchVariableComponenentExecutionStateE]+0x0): undefined reference to vtable for __cxxabiv1::__si_class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez4flow18LVGLExecutionStateE[_ZTIN3eez4flow18LVGLExecutionStateE]+0x0): undefined reference tovtable for cxxabiv1::si_class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez4flow29LoopComponenentExecutionStateE[_ZTIN3eez4flow29LoopComponenentExecutionStateE]+0x0): undefined reference to vtable for __cxxabiv1::__si_class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez4flow30DelayComponenentExecutionStateE[_ZTIN3eez4flow30DelayComponenentExecutionStateE]+0x0): undefined reference tovtable for cxxabiv1::si_class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez4flow32CounterComponenentExecutionStateE[_ZTIN3eez4flow32CounterComponenentExecutionStateE]+0x0): undefined reference to vtable for __cxxabiv1::__si_class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez4flow32AnimateComponenentExecutionStateE[_ZTIN3eez4flow32AnimateComponenentExecutionStateE]+0x0): more undefined references tovtable for cxxabiv1::si_class_type_info' follow /tmp/cclUwyd9.o:(.rodata._ZTIN3eez4flow25ComponenentExecutionStateE[_ZTIN3eez4flow25ComponenentExecutionStateE]+0x0): undefined reference to vtable for __cxxabiv1::__class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez15JsonMemberValueE[_ZTIN3eez15JsonMemberValueE]+0x0): undefined reference tovtable for cxxabiv1::si_class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez17ArrayElementValueE[_ZTIN3eez17ArrayElementValueE]+0x0): undefined reference to vtable for __cxxabiv1::__si_class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez11PropertyRefE[_ZTIN3eez11PropertyRefE]+0x0): undefined reference tovtable for cxxabiv1::si_class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez12LVGLEventRefE[_ZTIN3eez12LVGLEventRefE]+0x0): undefined reference to vtable for __cxxabiv1::__si_class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez7BlobRefE[_ZTIN3eez7BlobRefE]+0x0): undefined reference tovtable for cxxabiv1::si_class_type_info' /tmp/cclUwyd9.o:(.rodata._ZTIN3eez9StringRefE[_ZTIN3eez9StringRefE]+0x0): more undefined references to vtable for __cxxabiv1::__si_class_type_info' follow /tmp/cclUwyd9.o:(.rodata._ZTIN3eez3RefE[_ZTIN3eez3RefE]+0x0): undefined reference tovtable for cxxabiv1::class_type_info' collect2: error: ld returned 1 exit status Makefile:50: recipe for target 'default' failed make: *** [default] Error 1

mvladic commented 2 weeks ago

Instead of GCC use G++ or add -lsupc++ option to GCC.

chxzh123 commented 2 weeks ago

thanks,that‘s great.