vendredi 14 décembre 2018

Undefined error while working with maps (linux) [duplicate]

I was trying to create a map but the compiler returns an error that I don't understand.

This is the code, is very simple.

map <char*, int*> guia;

char str1[5] = "x";
int x = 0;

guia.insert(make_pair (str1, &x));

return 0;

It works on windows, but when I tried it in linux it gave me this error:

/tmp/ccMfOHXi.o:(.ARM.extab.text._ZNSt3mapIPcPiSt4lessIS0_ESaISt4pairIKS0_S1_EEEC2Ev[_ZNSt3mapIPcPiSt4lessIS0_ESaISt4pairIKS0_S1_EEEC5Ev]+0x0): referencia a __gxx_personality_v0' sin definir /tmp/ccMfOHXi.o:(.ARM.extab.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EED2Ev[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EED5Ev]+0x0): referencia a__gxx_personality_v0' sin definir /tmp/ccMfOHXi.o: En la función std::_Rb_tree_iterator<std::pair<char* const, int*> > std::_Rb_tree<char*, std::pair<char* const, int*>, std::_Select1st<std::pair<char* const, int*> >, std::less<char*>, std::allocator<std::pair<char* const, int*> > >::_M_insert_<std::pair<char*, int*>, std::_Rb_tree<char*, std::pair<char* const, int*>, std::_Select1st<std::pair<char* const, int*> >, std::less<char*>, std::allocator<std::pair<char* const, int*> > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<char*, int*>&&, std::_Rb_tree<char*, std::pair<char* const, int*>, std::_Select1st<std::pair<char* const, int*> >, std::less<char*>, std::allocator<std::pair<char* const, int*> > >::_Alloc_node&)': test.cpp:(.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE10_M_insert_IS1_IS0_S3_ENSA_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS4_EPSt18_Rb_tree_node_baseSH_OT_RT0_[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE10_M_insert_IS1_IS0_S3_ENSA_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS4_EPSt18_Rb_tree_node_baseSH_OT_RT0_]+0xd4): referencia astd::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)' sin definir test.cpp:(.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE10_M_insert_IS1_IS0_S3_ENSA_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS4_EPSt18_Rb_tree_node_baseSH_OT_RT0_[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE10_M_insert_IS1_IS0_S3_ENSA_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS4_EPSt18_Rb_tree_node_baseSH_OT_RT0_]+0x10c): referencia a __cxa_end_cleanup' sin definir /tmp/ccMfOHXi.o:(.ARM.extab.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE10_M_insert_IS1_IS0_S3_ENSA_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS4_EPSt18_Rb_tree_node_baseSH_OT_RT0_[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE10_M_insert_IS1_IS0_S3_ENSA_11_Alloc_nodeEEESt17_Rb_tree_iteratorIS4_EPSt18_Rb_tree_node_baseSH_OT_RT0_]+0x0): referencia a__gxx_personality_v0' sin definir /tmp/ccMfOHXi.o: En la función std::_Rb_tree_iterator<std::pair<char* const, int*> >::operator--()': test.cpp:(.text._ZNSt17_Rb_tree_iteratorISt4pairIKPcPiEEmmEv[_ZNSt17_Rb_tree_iteratorISt4pairIKPcPiEEmmEv]+0x1c): referencia astd::_Rb_tree_decrement(std::_Rb_tree_node_base*)' sin definir /tmp/ccMfOHXi.o:(.ARM.extab.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS4_E[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS4_E]+0x0): referencia a __gxx_personality_v0' sin definir /tmp/ccMfOHXi.o:(.ARM.extab.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS4_E[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS4_E]+0x0): referencia a__gxx_personality_v0' sin definir /tmp/ccMfOHXi.o: En la función void std::_Rb_tree<char*, std::pair<char* const, int*>, std::_Select1st<std::pair<char* const, int*> >, std::less<char*>, std::allocator<std::pair<char* const, int*> > >::_M_construct_node<std::pair<char*, int*> >(std::_Rb_tree_node<std::pair<char* const, int*> >*, std::pair<char*, int*>&&)': test.cpp:(.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE17_M_construct_nodeIJS1_IS0_S3_EEEEvPSt13_Rb_tree_nodeIS4_EDpOT_[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE17_M_construct_nodeIJS1_IS0_S3_EEEEvPSt13_Rb_tree_nodeIS4_EDpOT_]+0x7c): referencia a__cxa_begin_catch' sin definir test.cpp:(.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE17_M_construct_nodeIJS1_IS0_S3_EEEEvPSt13_Rb_tree_nodeIS4_EDpOT_[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE17_M_construct_nodeIJS1_IS0_S3_EEEEvPSt13_Rb_tree_nodeIS4_EDpOT_]+0x8c): referencia a __cxa_rethrow' sin definir test.cpp:(.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE17_M_construct_nodeIJS1_IS0_S3_EEEEvPSt13_Rb_tree_nodeIS4_EDpOT_[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE17_M_construct_nodeIJS1_IS0_S3_EEEEvPSt13_Rb_tree_nodeIS4_EDpOT_]+0x90): referencia a__cxa_end_catch' sin definir test.cpp:(.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE17_M_construct_nodeIJS1_IS0_S3_EEEEvPSt13_Rb_tree_nodeIS4_EDpOT_[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE17_M_construct_nodeIJS1_IS0_S3_EEEEvPSt13_Rb_tree_nodeIS4_EDpOT_]+0x94): referencia a __cxa_end_cleanup' sin definir /tmp/ccMfOHXi.o:(.ARM.extab.text._ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE17_M_construct_nodeIJS1_IS0_S3_EEEEvPSt13_Rb_tree_nodeIS4_EDpOT_[_ZNSt8_Rb_treeIPcSt4pairIKS0_PiESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE17_M_construct_nodeIJS1_IS0_S3_EEEEvPSt13_Rb_tree_nodeIS4_EDpOT_]+0x0): referencia a__gxx_personality_v0' sin definir /tmp/ccMfOHXi.o: En la función __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<char* const, int*> > >::deallocate(std::_Rb_tree_node<std::pair<char* const, int*> >*, unsigned int)': test.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPcPiEEE10deallocateEPS7_j[_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPcPiEEE10deallocateEPS7_j]+0x1c): referencia aoperator delete(void*)' sin definir /tmp/ccMfOHXi.o: En la función __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<char* const, int*> > >::allocate(unsigned int, void const*)': test.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPcPiEEE8allocateEjPKv[_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPcPiEEE8allocateEjPKv]+0x40): referencia astd::__throw_bad_alloc()' sin definir test.cpp:(.text._ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPcPiEEE8allocateEjPKv[_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPcPiEEE8allocateEjPKv]+0x5c): referencia a `operator new(unsigned int)' sin definir collect2: error: ld returned 1 exit status

I would like to know what is this error and how to solve it, thanks!

Aucun commentaire:

Enregistrer un commentaire