libui icon indicating copy to clipboard operation
libui copied to clipboard

How use it on windows system?

Open kdurant opened this issue 5 years ago • 3 comments

As a beginner, I hope I can have a simple, easy to learn tutorial.

Mingw version: x86_64-8.1.0-posix-seh-rt_v6-rev0

I can't solve problems.

$ gcc main.c -L. -lui
./libui.a(windows_alloc.cpp.obj): In function `uninitAlloc()':
D:\libui\build/../windows/alloc.cpp:16: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::all
ocator<char> >::basic_ostringstream(std::_Ios_Openmode)'
D:\libui\build/../windows/alloc.cpp:17: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<
char> >::basic_string()'
D:\libui\build/../windows/alloc.cpp:23: undefined reference to `std::ostream::operator<<(void const*)'
D:\libui\build/../windows/alloc.cpp:23: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std:
:char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
D:\libui\build/../windows/alloc.cpp:23: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std:
:char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
D:\libui\build/../windows/alloc.cpp:23: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std:
:char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
D:\libui\build/../windows/alloc.cpp:24: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::all
ocator<char> >::str() const'
D:\libui\build/../windows/alloc.cpp:24: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<
char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)'
D:\libui\build/../windows/alloc.cpp:24: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<
char> >::~basic_string()'
D:\libui\build/../windows/alloc.cpp:25: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<
char> >::c_str() const'
D:\libui\build/../windows/alloc.cpp:25: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<
char> >::~basic_string()'
D:\libui\build/../windows/alloc.cpp:25: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::all
ocator<char> >::~basic_ostringstream()'
D:\libui\build/../windows/alloc.cpp:17: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<
char> >::~basic_string()'
D:\libui\build/../windows/alloc.cpp:16: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::all
ocator<char> >::~basic_ostringstream()'
./libui.a(windows_alloc.cpp.obj): In function `uiprivAlloc':
D:\libui\build/../windows/alloc.cpp:34: undefined reference to `operator new(unsigned long long)'
D:\libui\build/../windows/alloc.cpp:34: undefined reference to `operator delete(void*)'
./libui.a(windows_alloc.cpp.obj): In function `uiprivFree':
D:\libui\build/../windows/alloc.cpp:62: undefined reference to `operator delete(void*)'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata+0x14): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata+0x3c): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPhSt4pairIKS0_PSt6vectorIhSaIhEEESt10_Select1stIS7_ESt4lessIS0_ESaIS7_
EED1Ev+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPSt6vectorIhSaIhEESt4pairIKS3_PKcESt10_Select1stIS8_ESt4lessIS3_ESaIS8
_EED1Ev+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<unsigned char* const, std::vector<unsigned char, std::al
locator<unsigned char> >*> >::operator++()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:287: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt6vectorIhSaIhEEC1EyRKhRKS0_+0xc): undefined reference to `__gxx_personality_seh0
'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZSt16forward_as_tupleIJPhEESt5tupleIJDpOT_EES4_+0xc): undefined reference to `__gxx_
personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt6vectorIhSaIhEED1Ev+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<std::vector<unsigned char, std::allocator<unsigned char>
 >* const, char const*> > std::_Rb_tree<std::vector<unsigned char, std::allocator<unsigned char> >*, std::pair<std::vector<unsigned char
, std::allocator<unsigned char> >* const, char const*>, std::_Select1st<std::pair<std::vector<unsigned char, std::allocator<unsigned cha
r> >* const, char const*> >, std::less<std::vector<unsigned char, std::allocator<unsigned char> >*>, std::allocator<std::pair<std::vecto
r<unsigned char, std::allocator<unsigned char> >* const, char const*> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std
::tuple<std::vector<unsigned char, std::allocator<unsigned char> >* const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::
vector<unsigned char, std::allocator<unsigned char> >* const, char const*> >, std::piecewise_construct_t const&, std::tuple<std::vector<
unsigned char, std::allocator<unsigned char> >* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2429: undefi
ned reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_end_catch'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPSt6vectorIhSaIhEESt4pairIKS3_PKcESt10_Select1stIS8_ESt4lessIS3_ESaIS8
_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorI
S8_EDpOT_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt12_Vector_baseIhSaIhEEC2EyRKS0_+0xc): undefined reference to `__gxx_personality_
seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt12_Vector_baseIhSaIhEED2Ev+0xc): undefined reference to `__gxx_personality_seh0'

./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<unsigned char* const, std::vector<unsigned char, std::al
locator<unsigned char> >*> > std::_Rb_tree<unsigned char*, std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<uns
igned char> >*>, std::_Select1st<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned char> >*> >, std::le
ss<unsigned char*>, std::allocator<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned char> >*> > >::_M_
emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<unsigned char*&&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pa
ir<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned char> >*> >, std::piecewise_construct_t const&, std::tuple<u
nsigned char*&&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2429: undefi
ned reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_end_catch'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPhSt4pairIKS0_PSt6vectorIhSaIhEEESt10_Select1stIS7_ESt4lessIS0_ESaIS7_
EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOS0_EESI_IJEEEEESt17_Rb_tree_iteratorIS7_ESt23_Rb_tree_const_iteratorIS
7_EDpOT_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<unsigned char* const, std::vector<unsigned char, std::al
locator<unsigned char> >*> > std::_Rb_tree<unsigned char*, std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<uns
igned char> >*>, std::_Select1st<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned char> >*> >, std::le
ss<unsigned char*>, std::allocator<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned char> >*> > >::_M_
emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<unsigned char* const&>, std::tuple<> >(std::_Rb_tree_const_iterator<st
d::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned char> >*> >, std::piecewise_construct_t const&, std::tu
ple<unsigned char* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2429: undefi
ned reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_end_catch'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPhSt4pairIKS0_PSt6vectorIhSaIhEEESt10_Select1stIS7_ESt4lessIS0_ESaIS7_
EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS2_EESI_IJEEEEESt17_Rb_tree_iteratorIS7_ESt23_Rb_tree_const_iteratorIS
7_EDpOT_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `std::vector<unsigned char, std::allocator<unsigned char> >::_M_fill_insert(__gnu_cxx::__n
ormal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long long, unsigned char const&)':

D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:552: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:562: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:552: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt6vectorIhSaIhEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPhS1_EEyRKh+0x10)
: undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt6vectorIhSaIhEE15_M_erase_at_endEPh+0xc): undefined reference to `__gxx_personal
ity_seh0'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree<std::vector<unsigned char, std::allocator<unsigned char> >*, std::pair<std:
:vector<unsigned char, std::allocator<unsigned char> >* const, char const*>, std::_Select1st<std::pair<std::vector<unsigned char, std::a
llocator<unsigned char> >* const, char const*> >, std::less<std::vector<unsigned char, std::allocator<unsigned char> >*>, std::allocator
<std::pair<std::vector<unsigned char, std::allocator<unsigned char> >* const, char const*> > >::_M_insert_node(std::_Rb_tree_node_base*,
 std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<std::vector<unsigned char, std::allocator<unsigned char> >* const, char const*>
>*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2320: undefi
ned reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree<unsigned char*, std::pair<unsigned char* const, std::vector<unsigned char,
std::allocator<unsigned char> >*>, std::_Select1st<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned ch
ar> >*> >, std::less<unsigned char*>, std::allocator<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned
char> >*> > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<unsigned char* const, std
::vector<unsigned char, std::allocator<unsigned char> >*> >*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2320: undefi
ned reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt6vectorIhSaIhEE16_Temporary_valueD1Ev+0xc): undefined reference to `__gxx_person
ality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `std::vector<unsigned char, std::allocator<unsigned char> >::_M_check_len(unsigned long lo
ng, char const*) const':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_vector.h:1638: unde
fined reference to `std::__throw_length_error(char const*)'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPhSt4pairIKS0_PSt6vectorIhSaIhEEESt10_Select1stIS7_ESt4lessIS0_ESaIS7_
EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS7_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPhSt4pairIKS0_PSt6vectorIhSaIhEEESt10_Select1stIS7_ESt4lessIS0_ESaIS7_
EE11_M_put_nodeEPSt13_Rb_tree_nodeIS7_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPSt6vectorIhSaIhEESt4pairIKS3_PKcESt10_Select1stIS8_ESt4lessIS3_ESaIS8
_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS8_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPSt6vectorIhSaIhEESt4pairIKS3_PKcESt10_Select1stIS8_ESt4lessIS3_ESaIS8
_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `void std::_Rb_tree<std::vector<unsigned char, std::allocator<unsigned char> >*, std::pair
<std::vector<unsigned char, std::allocator<unsigned char> >* const, char const*>, std::_Select1st<std::pair<std::vector<unsigned char, s
td::allocator<unsigned char> >* const, char const*> >, std::less<std::vector<unsigned char, std::allocator<unsigned char> >*>, std::allo
cator<std::pair<std::vector<unsigned char, std::allocator<unsigned char> >* const, char const*> > >::_M_construct_node<std::piecewise_co
nstruct_t const&, std::tuple<std::vector<unsigned char, std::allocator<unsigned char> >* const&>, std::tuple<> >(std::_Rb_tree_node<std:
:pair<std::vector<unsigned char, std::allocator<unsigned char> >* const, char const*> >*, std::piecewise_construct_t const&, std::tuple<
std::vector<unsigned char, std::allocator<unsigned char> >* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:645: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPSt6vectorIhSaIhEESt4pairIKS3_PKcESt10_Select1stIS8_ESt4lessIS3_ESaIS8
_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS5_EESJ_IJEEEEEvPSt13_Rb_tree_nodeIS8_EDpOT_+0x14): undefined reference to
 `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<std::vector<unsigned char, std::allocator<unsigned char>
 >* const, char const*> >::operator--()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:302: undefin
ed reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<std::vector<unsigned char, std::allocator<unsigned char>
 >* const, char const*> >::operator++()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:287: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
./libui.a(windows_alloc.cpp.obj): In function `void std::_Rb_tree<unsigned char*, std::pair<unsigned char* const, std::vector<unsigned c
har, std::allocator<unsigned char> >*>, std::_Select1st<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsign
ed char> >*> >, std::less<unsigned char*>, std::allocator<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsi
gned char> >*> > >::_M_construct_node<std::piecewise_construct_t const&, std::tuple<unsigned char*&&>, std::tuple<> >(std::_Rb_tree_node
<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned char> >*> >*, std::piecewise_construct_t const&, std
::tuple<unsigned char*&&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:645: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPhSt4pairIKS0_PSt6vectorIhSaIhEEESt10_Select1stIS7_ESt4lessIS0_ESaIS7_
EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJOS0_EESI_IJEEEEEvPSt13_Rb_tree_nodeIS7_EDpOT_+0x14): undefined reference to
`__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<unsigned char* const, std::vector<unsigned char, std::al
locator<unsigned char> >*> >::operator--()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:302: undefin
ed reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
./libui.a(windows_alloc.cpp.obj): In function `void std::_Rb_tree<unsigned char*, std::pair<unsigned char* const, std::vector<unsigned c
har, std::allocator<unsigned char> >*>, std::_Select1st<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsign
ed char> >*> >, std::less<unsigned char*>, std::allocator<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsi
gned char> >*> > >::_M_construct_node<std::piecewise_construct_t const&, std::tuple<unsigned char* const&>, std::tuple<> >(std::_Rb_tree
_node<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned char> >*> >*, std::piecewise_construct_t const&
, std::tuple<unsigned char* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:645: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPhSt4pairIKS0_PSt6vectorIhSaIhEEESt10_Select1stIS7_ESt4lessIS0_ESaIS7_
EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS2_EESI_IJEEEEEvPSt13_Rb_tree_nodeIS7_EDpOT_+0x14): undefined reference to
`__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPhSt4pairIKS0_PSt6vectorIhSaIhEEESt10_Select1stIS7_ESt4lessIS0_ESaIS7_
EE5clearEv+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree_const_iterator<std::pair<unsigned char* const, std::vector<unsigned char, s
td::allocator<unsigned char> >*> >::operator++(int)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:374: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree<unsigned char*, std::pair<unsigned char* const, std::vector<unsigned char,
std::allocator<unsigned char> >*>, std::_Select1st<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned ch
ar> >*> >, std::less<unsigned char*>, std::allocator<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsigned
char> >*> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned char* const, std::vector<unsigned char, std::allocator<unsig
ned char> >*> >)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2491: undefi
ned reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZNSt8_Rb_treeIPSt6vectorIhSaIhEESt4pairIKS3_PKcESt10_Select1stIS8_ESt4lessIS3_ESaIS8
_EE5clearEv+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree_const_iterator<std::pair<std::vector<unsigned char, std::allocator<unsigned
 char> >* const, char const*> >::operator++(int)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:374: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
./libui.a(windows_alloc.cpp.obj): In function `std::_Rb_tree<std::vector<unsigned char, std::allocator<unsigned char> >*, std::pair<std:
:vector<unsigned char, std::allocator<unsigned char> >* const, char const*>, std::_Select1st<std::pair<std::vector<unsigned char, std::a
llocator<unsigned char> >* const, char const*> >, std::less<std::vector<unsigned char, std::allocator<unsigned char> >*>, std::allocator
<std::pair<std::vector<unsigned char, std::allocator<unsigned char> >* const, char const*> > >::_M_erase_aux(std::_Rb_tree_const_iterato
r<std::pair<std::vector<unsigned char, std::allocator<unsigned char> >* const, char const*> >)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2491: undefi
ned reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
./libui.a(windows_alloc.cpp.obj): In function `__gnu_cxx::new_allocator<unsigned char>::deallocate(unsigned char*, unsigned long long)':

D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_alloc.cpp.obj): In function `__gnu_cxx::new_allocator<unsigned char>::allocate(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_alloc.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned char* const, std::vector<u
nsigned char, std::allocator<unsigned char> >*> > >::deallocate(std::_Rb_tree_node<std::pair<unsigned char* const, std::vector<unsigned
char, std::allocator<unsigned char> >*> >*, unsigned long long)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_alloc.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::vector<unsigned char, std::all
ocator<unsigned char> >* const, char const*> > >::deallocate(std::_Rb_tree_node<std::pair<std::vector<unsigned char, std::allocator<unsi
gned char> >* const, char const*> >*, unsigned long long)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_alloc.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::vector<unsigned char, std::all
ocator<unsigned char> >* const, char const*> > >::allocate(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPSt6vectorIhSaIhEEPKcEEE9cons
tructISA_JRKSt21piecewise_construct_tSt5tupleIJRS7_EESH_IJEEEEEvPT_DpOT0_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned char* const, std::vector<u
nsigned char, std::allocator<unsigned char> >*> > >::allocate(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPhPSt6vectorIhSaIhEEEEE9const
ructIS9_JRKSt21piecewise_construct_tSt5tupleIJOS3_EESG_IJEEEEEvPT_DpOT0_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_alloc.cpp.obj):alloc.cpp:(.xdata$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPhPSt6vectorIhSaIhEEEEE9const
ructIS9_JRKSt21piecewise_construct_tSt5tupleIJRS4_EESG_IJEEEEEvPT_DpOT0_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZNSt8_Rb_treeIP6HWND__St4pairIKS1_7handlerESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE
D1Ev+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZNSt8_Rb_treeIP6HWND__St4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EED1Ev+0x
c): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_events.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<HWND__* const, bool> >::operator++()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:287: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
./libui.a(windows_events.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<HWND__* const, handler> > std::_Rb_tree<HWND__*, std::p
air<HWND__* const, handler>, std::_Select1st<std::pair<HWND__* const, handler> >, std::less<HWND__*>, std::allocator<std::pair<HWND__* c
onst, handler> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<HWND__* const&>, std::tuple<> >(std::_Rb_tree_c
onst_iterator<std::pair<HWND__* const, handler> >, std::piecewise_construct_t const&, std::tuple<HWND__* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2429: undefi
ned reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_end_catch'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZNSt8_Rb_treeIP6HWND__St4pairIKS1_7handlerESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE
22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESG_IJEEEEESt17_Rb_tree_iteratorIS5_ESt23_Rb_tree_const_iteratorIS5_
EDpOT_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_events.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<HWND__* const, bool> > std::_Rb_tree<HWND__*, std::pair
<HWND__* const, bool>, std::_Select1st<std::pair<HWND__* const, bool> >, std::less<HWND__*>, std::allocator<std::pair<HWND__* const, boo
l> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<HWND__* const&>, std::tuple<> >(std::_Rb_tree_const_iterato
r<std::pair<HWND__* const, bool> >, std::piecewise_construct_t const&, std::tuple<HWND__* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2429: undefi
ned reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_end_catch'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZNSt8_Rb_treeIP6HWND__St4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE22_M_em
place_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_+
0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_events.cpp.obj): In function `std::_Rb_tree<HWND__*, std::pair<HWND__* const, handler>, std::_Select1st<std::pair<HWND
__* const, handler> >, std::less<HWND__*>, std::allocator<std::pair<HWND__* const, handler> > >::_M_insert_node(std::_Rb_tree_node_base*
, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<HWND__* const, handler> >*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2320: undefi
ned reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
'
./libui.a(windows_events.cpp.obj): In function `std::_Rb_tree<HWND__*, std::pair<HWND__* const, bool>, std::_Select1st<std::pair<HWND__*
 const, bool> >, std::less<HWND__*>, std::allocator<std::pair<HWND__* const, bool> > >::_M_insert_node(std::_Rb_tree_node_base*, std::_R
b_tree_node_base*, std::_Rb_tree_node<std::pair<HWND__* const, bool> >*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2320: undefi
ned reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZNSt8_Rb_treeIP6HWND__St4pairIKS1_7handlerESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE
15_M_destroy_nodeEPSt13_Rb_tree_nodeIS5_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZNSt8_Rb_treeIP6HWND__St4pairIKS1_7handlerESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE
11_M_put_nodeEPSt13_Rb_tree_nodeIS5_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_events.cpp.obj): In function `void std::_Rb_tree<HWND__*, std::pair<HWND__* const, handler>, std::_Select1st<std::pair
<HWND__* const, handler> >, std::less<HWND__*>, std::allocator<std::pair<HWND__* const, handler> > >::_M_construct_node<std::piecewise_c
onstruct_t const&, std::tuple<HWND__* const&>, std::tuple<> >(std::_Rb_tree_node<std::pair<HWND__* const, handler> >*, std::piecewise_co
nstruct_t const&, std::tuple<HWND__* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:645: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZNSt8_Rb_treeIP6HWND__St4pairIKS1_7handlerESt10_Select1stIS5_ESt4lessIS1_ESaIS5_EE
17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESG_IJEEEEEvPSt13_Rb_tree_nodeIS5_EDpOT_+0x14): undefined reference to `_
_gxx_personality_seh0'
./libui.a(windows_events.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<HWND__* const, handler> >::operator--()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:302: undefin
ed reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
./libui.a(windows_events.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<HWND__* const, handler> >::operator++()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:287: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZNSt8_Rb_treeIP6HWND__St4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE15_M_de
stroy_nodeEPSt13_Rb_tree_nodeIS4_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZNSt8_Rb_treeIP6HWND__St4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE11_M_pu
t_nodeEPSt13_Rb_tree_nodeIS4_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_events.cpp.obj): In function `void std::_Rb_tree<HWND__*, std::pair<HWND__* const, bool>, std::_Select1st<std::pair<HW
ND__* const, bool> >, std::less<HWND__*>, std::allocator<std::pair<HWND__* const, bool> > >::_M_construct_node<std::piecewise_construct_
t const&, std::tuple<HWND__* const&>, std::tuple<> >(std::_Rb_tree_node<std::pair<HWND__* const, bool> >*, std::piecewise_construct_t co
nst&, std::tuple<HWND__* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:645: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZNSt8_Rb_treeIP6HWND__St4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE17_M_co
nstruct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESF_IJEEEEEvPSt13_Rb_tree_nodeIS4_EDpOT_+0x14): undefined reference to `__gxx_pe
rsonality_seh0'
./libui.a(windows_events.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<HWND__* const, bool> >::operator--()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:302: undefin
ed reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
./libui.a(windows_events.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<HWND__* const, handler> > >::deall
ocate(std::_Rb_tree_node<std::pair<HWND__* const, handler> >*, unsigned long long)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_events.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<HWND__* const, handler> > >::alloc
ate(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKP6HWND__7handlerEEE9constru
ctIS7_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESE_IJEEEEEvPT_DpOT0_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_events.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<HWND__* const, bool> > >::dealloca
te(std::_Rb_tree_node<std::pair<HWND__* const, bool> >*, unsigned long long)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_events.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<HWND__* const, bool> > >::allocate
(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_events.cpp.obj):events.cpp:(.xdata$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKP6HWND__bEEE9constructIS6_J
RKSt21piecewise_construct_tSt5tupleIJRS5_EESD_IJEEEEEvPT_DpOT0_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_grid.cpp.obj): In function `gridRelayout':
D:\libui\build/../windows/grid.cpp:211: undefined reference to `operator new(unsigned long long)'
D:\libui\build/../windows/grid.cpp:213: undefined reference to `operator delete(void*)'
D:\libui\build/../windows/grid.cpp:411: undefined reference to `operator delete(void*)'
D:\libui\build/../windows/grid.cpp:211: undefined reference to `operator delete(void*)'
./libui.a(windows_grid.cpp.obj): In function `uiGridDestroy':
D:\libui\build/../windows/grid.cpp:423: undefined reference to `operator delete(void*)'
D:\libui\build/../windows/grid.cpp:424: undefined reference to `operator delete(void*)'
./libui.a(windows_grid.cpp.obj): In function `uiGridMinimumSize':
D:\libui\build/../windows/grid.cpp:469: undefined reference to `operator new(unsigned long long)'
D:\libui\build/../windows/grid.cpp:471: undefined reference to `operator delete(void*)'
D:\libui\build/../windows/grid.cpp:469: undefined reference to `operator delete(void*)'
./libui.a(windows_grid.cpp.obj): In function `gridArrangeChildren':
D:\libui\build/../windows/grid.cpp:540: undefined reference to `operator new(unsigned long long)'
D:\libui\build/../windows/grid.cpp:543: undefined reference to `operator new[](unsigned long long)'
D:\libui\build/../windows/grid.cpp:556: undefined reference to `operator delete[](void*)'
D:\libui\build/../windows/grid.cpp:557: undefined reference to `operator delete(void*)'
D:\libui\build/../windows/grid.cpp:540: undefined reference to `operator delete(void*)'
./libui.a(windows_grid.cpp.obj): In function `uiNewGrid':
D:\libui\build/../windows/grid.cpp:654: undefined reference to `operator new(unsigned long long)'
D:\libui\build/../windows/grid.cpp:655: undefined reference to `operator new(unsigned long long)'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata+0x2c): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata+0xdc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata+0x134): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_grid.cpp.obj): In function `gridLayoutData::gridLayoutData(uiGrid*)':
D:\libui\build/../windows/grid.cpp:92: undefined reference to `operator new[](unsigned long long)'
D:\libui\build/../windows/grid.cpp:92: undefined reference to `__cxa_throw_bad_array_new_length'
D:\libui\build/../windows/grid.cpp:94: undefined reference to `operator new[](unsigned long long)'
D:\libui\build/../windows/grid.cpp:94: undefined reference to `__cxa_throw_bad_array_new_length'
D:\libui\build/../windows/grid.cpp:110: undefined reference to `operator new[](unsigned long long)'
D:\libui\build/../windows/grid.cpp:110: undefined reference to `__cxa_throw_bad_array_new_length'
D:\libui\build/../windows/grid.cpp:112: undefined reference to `operator new[](unsigned long long)'
D:\libui\build/../windows/grid.cpp:114: undefined reference to `operator new[](unsigned long long)'
D:\libui\build/../windows/grid.cpp:116: undefined reference to `operator new[](unsigned long long)'
D:\libui\build/../windows/grid.cpp:112: undefined reference to `__cxa_throw_bad_array_new_length'
./libui.a(windows_grid.cpp.obj): In function `gridLayoutData::~gridLayoutData()':
D:\libui\build/../windows/grid.cpp:139: undefined reference to `operator delete[](void*)'
D:\libui\build/../windows/grid.cpp:140: undefined reference to `operator delete[](void*)'
D:\libui\build/../windows/grid.cpp:141: undefined reference to `operator delete[](void*)'
D:\libui\build/../windows/grid.cpp:142: undefined reference to `operator delete[](void*)'
D:\libui\build/../windows/grid.cpp:144: undefined reference to `operator delete[](void*)'
./libui.a(windows_grid.cpp.obj):D:\libui\build/../windows/grid.cpp:145: more undefined references to `operator delete[](void*)' follow
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata$_ZNSt8_Rb_treeIP9uiControlSt4pairIKS1_yESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EED1Ev+0xc
): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata$_ZNSt6vectorIP9gridChildSaIS1_EED1Ev+0xc): undefined reference to `__gxx_personality_se
h0'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata$_ZNSt6vectorIP9gridChildSaIS1_EEC1Ev+0xc): undefined reference to `__gxx_personality_se
h0'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata$_ZNSt12_Vector_baseIP9gridChildSaIS1_EED2Ev+0xc): undefined reference to `__gxx_persona
lity_seh0'
./libui.a(windows_grid.cpp.obj): In function `void std::vector<gridChild*, std::allocator<gridChild*> >::_M_realloc_insert<gridChild* co
nst&>(__gnu_cxx::__normal_iterator<gridChild**, std::vector<gridChild*, std::allocator<gridChild*> > >, gridChild* const&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:457: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:465: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:457: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata$_ZNSt6vectorIP9gridChildSaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_ite
ratorIPS1_S3_EEDpOT_+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_grid.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<uiControl* const, unsigned long long> > std::_Rb_tree<uiC
ontrol*, std::pair<uiControl* const, unsigned long long>, std::_Select1st<std::pair<uiControl* const, unsigned long long> >, std::less<u
iControl*>, std::allocator<std::pair<uiControl* const, unsigned long long> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&
, std::tuple<uiControl* const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<uiControl* const, unsigned long long> >, std::pie
cewise_construct_t const&, std::tuple<uiControl* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2429: undefi
ned reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_end_catch'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata$_ZNSt8_Rb_treeIP9uiControlSt4pairIKS1_yESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE22_M_emp
lace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT_+0
x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_grid.cpp.obj): In function `std::vector<gridChild*, std::allocator<gridChild*> >::_M_check_len(unsigned long long, cha
r const*) const':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_vector.h:1638: unde
fined reference to `std::__throw_length_error(char const*)'
./libui.a(windows_grid.cpp.obj): In function `std::_Rb_tree<uiControl*, std::pair<uiControl* const, unsigned long long>, std::_Select1st
<std::pair<uiControl* const, unsigned long long> >, std::less<uiControl*>, std::allocator<std::pair<uiControl* const, unsigned long long
> > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<uiControl* const, unsigned long l
ong> >*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2320: undefi
ned reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata$_ZNSt8_Rb_treeIP9uiControlSt4pairIKS1_yESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE15_M_des
troy_nodeEPSt13_Rb_tree_nodeIS4_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata$_ZNSt8_Rb_treeIP9uiControlSt4pairIKS1_yESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE11_M_put
_nodeEPSt13_Rb_tree_nodeIS4_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_grid.cpp.obj): In function `void std::_Rb_tree<uiControl*, std::pair<uiControl* const, unsigned long long>, std::_Sele
ct1st<std::pair<uiControl* const, unsigned long long> >, std::less<uiControl*>, std::allocator<std::pair<uiControl* const, unsigned long
 long> > >::_M_construct_node<std::piecewise_construct_t const&, std::tuple<uiControl* const&>, std::tuple<> >(std::_Rb_tree_node<std::p
air<uiControl* const, unsigned long long> >*, std::piecewise_construct_t const&, std::tuple<uiControl* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:645: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata$_ZNSt8_Rb_treeIP9uiControlSt4pairIKS1_yESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE17_M_con
struct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESF_IJEEEEEvPSt13_Rb_tree_nodeIS4_EDpOT_+0x14): undefined reference to `__gxx_per
sonality_seh0'
./libui.a(windows_grid.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<uiControl* const, unsigned long long> >::operator--()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:302: undefin
ed reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
./libui.a(windows_grid.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<uiControl* const, unsigned long long> >::operator++()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:287: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
./libui.a(windows_grid.cpp.obj): In function `__gnu_cxx::new_allocator<gridChild*>::deallocate(gridChild**, unsigned long long)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_grid.cpp.obj): In function `__gnu_cxx::new_allocator<gridChild*>::allocate(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_grid.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<uiControl* const, unsigned long long
> > >::deallocate(std::_Rb_tree_node<std::pair<uiControl* const, unsigned long long> >*, unsigned long long)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_grid.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<uiControl* const, unsigned long long
> > >::allocate(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_grid.cpp.obj):grid.cpp:(.xdata$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKP9uiControlyEEE9constructIS6_JR
KSt21piecewise_construct_tSt5tupleIJRS5_EESD_IJEEEEEvPT_DpOT0_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_init.cpp.obj): In function `uiInit':
D:\libui\build/../windows/init.cpp:94: undefined reference to `__imp_CreateFontIndirectW'
D:\libui\build/../windows/init.cpp:101: undefined reference to `__imp_GetStockObject'
D:\libui\build/../windows/init.cpp:108: undefined reference to `__imp_InitCommonControlsEx'
D:\libui\build/../windows/init.cpp:111: undefined reference to `__imp_CoInitialize'
./libui.a(windows_init.cpp.obj): In function `uiUninit':
D:\libui\build/../windows/init.cpp:151: undefined reference to `__imp_CoUninitialize'
D:\libui\build/../windows/init.cpp:152: undefined reference to `__imp_DeleteObject'
D:\libui\build/../windows/init.cpp:155: undefined reference to `__imp_DeleteObject'
./libui.a(windows_main.cpp.obj):main.cpp:(.xdata$_ZNSt8_Rb_treeIP11uiprivTimerSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EED1Ev+
0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_main.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<uiprivTimer* const, bool> >::operator++(int)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:295: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
./libui.a(windows_main.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<uiprivTimer* const, bool> > std::_Rb_tree<uiprivTimer*, s
td::pair<uiprivTimer* const, bool>, std::_Select1st<std::pair<uiprivTimer* const, bool> >, std::less<uiprivTimer*>, std::allocator<std::
pair<uiprivTimer* const, bool> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<uiprivTimer* const&>, std::tupl
e<> >(std::_Rb_tree_const_iterator<std::pair<uiprivTimer* const, bool> >, std::piecewise_construct_t const&, std::tuple<uiprivTimer* con
st&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2429: undefi
ned reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_end_catch'
./libui.a(windows_main.cpp.obj):main.cpp:(.xdata$_ZNSt8_Rb_treeIP11uiprivTimerSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE22_M_
emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT
_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_main.cpp.obj):main.cpp:(.xdata$_ZNSt8_Rb_treeIP11uiprivTimerSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE5clea
rEv+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_main.cpp.obj): In function `std::_Rb_tree<uiprivTimer*, std::pair<uiprivTimer* const, bool>, std::_Select1st<std::pair
<uiprivTimer* const, bool> >, std::less<uiprivTimer*>, std::allocator<std::pair<uiprivTimer* const, bool> > >::_M_insert_node(std::_Rb_t
ree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<uiprivTimer* const, bool> >*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2320: undefi
ned reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
'
./libui.a(windows_main.cpp.obj):main.cpp:(.xdata$_ZNSt8_Rb_treeIP11uiprivTimerSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE15_M_
destroy_nodeEPSt13_Rb_tree_nodeIS4_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_main.cpp.obj):main.cpp:(.xdata$_ZNSt8_Rb_treeIP11uiprivTimerSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE11_M_
put_nodeEPSt13_Rb_tree_nodeIS4_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_main.cpp.obj): In function `void std::_Rb_tree<uiprivTimer*, std::pair<uiprivTimer* const, bool>, std::_Select1st<std:
:pair<uiprivTimer* const, bool> >, std::less<uiprivTimer*>, std::allocator<std::pair<uiprivTimer* const, bool> > >::_M_construct_node<st
d::piecewise_construct_t const&, std::tuple<uiprivTimer* const&>, std::tuple<> >(std::_Rb_tree_node<std::pair<uiprivTimer* const, bool>
>*, std::piecewise_construct_t const&, std::tuple<uiprivTimer* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:645: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_main.cpp.obj):main.cpp:(.xdata$_ZNSt8_Rb_treeIP11uiprivTimerSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE17_M_
construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESF_IJEEEEEvPSt13_Rb_tree_nodeIS4_EDpOT_+0x14): undefined reference to `__gxx_
personality_seh0'
./libui.a(windows_main.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<uiprivTimer* const, bool> >::operator--()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:302: undefin
ed reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
./libui.a(windows_main.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<uiprivTimer* const, bool> >::operator++()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:287: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
./libui.a(windows_main.cpp.obj): In function `std::_Rb_tree_const_iterator<std::pair<uiprivTimer* const, bool> >::operator++(int)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:374: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
./libui.a(windows_main.cpp.obj): In function `std::_Rb_tree<uiprivTimer*, std::pair<uiprivTimer* const, bool>, std::_Select1st<std::pair
<uiprivTimer* const, bool> >, std::less<uiprivTimer*>, std::allocator<std::pair<uiprivTimer* const, bool> > >::_M_erase_aux(std::_Rb_tre
e_const_iterator<std::pair<uiprivTimer* const, bool> >)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2491: undefi
ned reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
./libui.a(windows_main.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<uiprivTimer* const, bool> > >::deall
ocate(std::_Rb_tree_node<std::pair<uiprivTimer* const, bool> >*, unsigned long long)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_main.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<uiprivTimer* const, bool> > >::alloc
ate(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_main.cpp.obj):main.cpp:(.xdata$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKP11uiprivTimerbEEE9constructIS6
_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESD_IJEEEEEvPT_DpOT0_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_sizing.cpp.obj): In function `getSizing(HWND__*, uiWindowsSizing*, HFONT__*)':
D:\libui\build/../windows/sizing.cpp:15: undefined reference to `__imp_SelectObject'
D:\libui\build/../windows/sizing.cpp:20: undefined reference to `__imp_GetTextMetricsW'
D:\libui\build/../windows/sizing.cpp:22: undefined reference to `__imp_GetTextExtentPoint32W'
D:\libui\build/../windows/sizing.cpp:29: undefined reference to `__imp_SelectObject'
./libui.a(windows_text.cpp.obj): In function `uiWindowsWindowTextWidth':
D:\libui\build/../windows/text.cpp:63: undefined reference to `__imp_SelectObject'
D:\libui\build/../windows/text.cpp:69: undefined reference to `__imp_GetTextExtentPoint32W'
D:\libui\build/../windows/text.cpp:76: undefined reference to `__imp_SelectObject'
./libui.a(windows_utf16.cpp.obj): In function `ftoutf16(double)':
D:\libui\build/../windows/utf16.cpp:132: undefined reference to `std::__cxx11::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, s
td::allocator<wchar_t> >::basic_ostringstream(std::_Ios_Openmode)'
D:\libui\build/../windows/utf16.cpp:133: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::basic_string()'
D:\libui\build/../windows/utf16.cpp:135: undefined reference to `std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(dou
ble)'
D:\libui\build/../windows/utf16.cpp:136: undefined reference to `std::__cxx11::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, s
td::allocator<wchar_t> >::str() const'
D:\libui\build/../windows/utf16.cpp:136: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::operator=(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&&)'
D:\libui\build/../windows/utf16.cpp:136: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::~basic_string()'
D:\libui\build/../windows/utf16.cpp:137: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::c_str() const'
D:\libui\build/../windows/utf16.cpp:133: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::~basic_string()'
D:\libui\build/../windows/utf16.cpp:132: undefined reference to `std::__cxx11::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, s
td::allocator<wchar_t> >::~basic_ostringstream()'
D:\libui\build/../windows/utf16.cpp:133: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::~basic_string()'
D:\libui\build/../windows/utf16.cpp:132: undefined reference to `std::__cxx11::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, s
td::allocator<wchar_t> >::~basic_ostringstream()'
./libui.a(windows_utf16.cpp.obj): In function `itoutf16(int)':
D:\libui\build/../windows/utf16.cpp:143: undefined reference to `std::__cxx11::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, s
td::allocator<wchar_t> >::basic_ostringstream(std::_Ios_Openmode)'
D:\libui\build/../windows/utf16.cpp:144: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::basic_string()'
D:\libui\build/../windows/utf16.cpp:146: undefined reference to `std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::operator<<(int
)'
D:\libui\build/../windows/utf16.cpp:147: undefined reference to `std::__cxx11::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, s
td::allocator<wchar_t> >::str() const'
D:\libui\build/../windows/utf16.cpp:147: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::operator=(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&&)'
D:\libui\build/../windows/utf16.cpp:147: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::~basic_string()'
D:\libui\build/../windows/utf16.cpp:148: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::c_str() const'
D:\libui\build/../windows/utf16.cpp:144: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::~basic_string()'
D:\libui\build/../windows/utf16.cpp:143: undefined reference to `std::__cxx11::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, s
td::allocator<wchar_t> >::~basic_ostringstream()'
D:\libui\build/../windows/utf16.cpp:144: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::all
ocator<wchar_t> >::~basic_string()'
D:\libui\build/../windows/utf16.cpp:143: undefined reference to `std::__cxx11::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, s
td::allocator<wchar_t> >::~basic_ostringstream()'
./libui.a(windows_utf16.cpp.obj):utf16.cpp:(.xdata+0x64): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_utf16.cpp.obj):utf16.cpp:(.xdata+0x8c): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_window.cpp.obj):window.cpp:(.xdata$_ZNSt8_Rb_treeIP8uiWindowSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EED1Ev+
0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_window.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<uiWindow* const, bool> >::operator++()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:287: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
./libui.a(windows_window.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<uiWindow* const, bool> > std::_Rb_tree<uiWindow*, std::
pair<uiWindow* const, bool>, std::_Select1st<std::pair<uiWindow* const, bool> >, std::less<uiWindow*>, std::allocator<std::pair<uiWindow
* const, bool> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<uiWindow* const&>, std::tuple<> >(std::_Rb_tree
_const_iterator<std::pair<uiWindow* const, bool> >, std::piecewise_construct_t const&, std::tuple<uiWindow* const&>&&, std::tuple<>&&)':

D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2429: undefi
ned reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2426: undefi
ned reference to `__cxa_end_catch'
./libui.a(windows_window.cpp.obj):window.cpp:(.xdata$_ZNSt8_Rb_treeIP8uiWindowSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE22_M_
emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESF_IJEEEEESt17_Rb_tree_iteratorIS4_ESt23_Rb_tree_const_iteratorIS4_EDpOT
_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_window.cpp.obj): In function `std::_Rb_tree<uiWindow*, std::pair<uiWindow* const, bool>, std::_Select1st<std::pair<uiW
indow* const, bool> >, std::less<uiWindow*>, std::allocator<std::pair<uiWindow* const, bool> > >::_M_insert_node(std::_Rb_tree_node_base
*, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<uiWindow* const, bool> >*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2320: undefi
ned reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
'
./libui.a(windows_window.cpp.obj):window.cpp:(.xdata$_ZNSt8_Rb_treeIP8uiWindowSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE15_M_
destroy_nodeEPSt13_Rb_tree_nodeIS4_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_window.cpp.obj):window.cpp:(.xdata$_ZNSt8_Rb_treeIP8uiWindowSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE11_M_
put_nodeEPSt13_Rb_tree_nodeIS4_E+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_window.cpp.obj):window.cpp:(.xdata$_ZNSt8_Rb_treeIP8uiWindowSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE5clea
rEv+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_window.cpp.obj): In function `std::_Rb_tree_const_iterator<std::pair<uiWindow* const, bool> >::operator++(int)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:374: undefin
ed reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
./libui.a(windows_window.cpp.obj): In function `std::_Rb_tree<uiWindow*, std::pair<uiWindow* const, bool>, std::_Select1st<std::pair<uiW
indow* const, bool> >, std::less<uiWindow*>, std::allocator<std::pair<uiWindow* const, bool> > >::_M_erase_aux(std::_Rb_tree_const_itera
tor<std::pair<uiWindow* const, bool> >)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:2491: undefi
ned reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)'
./libui.a(windows_window.cpp.obj): In function `void std::_Rb_tree<uiWindow*, std::pair<uiWindow* const, bool>, std::_Select1st<std::pai
r<uiWindow* const, bool> >, std::less<uiWindow*>, std::allocator<std::pair<uiWindow* const, bool> > >::_M_construct_node<std::piecewise_
construct_t const&, std::tuple<uiWindow* const&>, std::tuple<> >(std::_Rb_tree_node<std::pair<uiWindow* const, bool> >*, std::piecewise_
construct_t const&, std::tuple<uiWindow* const&>&&, std::tuple<>&&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:645: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:641: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_window.cpp.obj):window.cpp:(.xdata$_ZNSt8_Rb_treeIP8uiWindowSt4pairIKS1_bESt10_Select1stIS4_ESt4lessIS1_ESaIS4_EE17_M_
construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESF_IJEEEEEvPSt13_Rb_tree_nodeIS4_EDpOT_+0x14): undefined reference to `__gxx_
personality_seh0'
./libui.a(windows_window.cpp.obj): In function `std::_Rb_tree_iterator<std::pair<uiWindow* const, bool> >::operator--()':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_tree.h:302: undefin
ed reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
./libui.a(windows_window.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<uiWindow* const, bool> > >::deallo
cate(std::_Rb_tree_node<std::pair<uiWindow* const, bool> >*, unsigned long long)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_window.cpp.obj): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<uiWindow* const, bool> > >::alloca
te(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_window.cpp.obj):window.cpp:(.xdata$_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKP8uiWindowbEEE9constructIS6
_JRKSt21piecewise_construct_tSt5tupleIJRS5_EESD_IJEEEEEvPT_DpOT0_+0x10): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_areaevents.cpp.obj): In function `track':
D:\libui\build/../windows/areaevents.cpp:56: undefined reference to `__imp__TrackMouseEvent'
./libui.a(windows_d2dscratch.cpp.obj): In function `newD2DScratch(HWND__*, tagRECT*, HMENU__*, long long (*)(HWND__*, unsigned int, unsi
gned long long, long long, unsigned long long, unsigned long long), unsigned long long)':
D:\libui\build/../windows/d2dscratch.cpp:163: undefined reference to `SetWindowSubclass'
./libui.a(windows_draw.cpp.obj): In function `initDraw()':
D:\libui\build/../windows/draw.cpp:14: undefined reference to `D2D1CreateFactory'
./libui.a(windows_draw.cpp.obj): In function `makeHWNDRenderTarget(HWND__*)':
D:\libui\build/../windows/draw.cpp:44: undefined reference to `__imp_GetDeviceCaps'
D:\libui\build/../windows/draw.cpp:45: undefined reference to `__imp_GetDeviceCaps'
./libui.a(windows_draw.cpp.obj): In function `makeHDCRenderTarget(HDC__*, tagRECT*)':
D:\libui\build/../windows/draw.cpp:80: undefined reference to `__imp_GetDeviceCaps'
D:\libui\build/../windows/draw.cpp:81: undefined reference to `__imp_GetDeviceCaps'
./libui.a(windows_draw.cpp.obj): In function `newContext(ID2D1RenderTarget*)':
D:\libui\build/../windows/draw.cpp:112: undefined reference to `operator new(unsigned long long)'
./libui.a(windows_draw.cpp.obj): In function `freeContext(uiDrawContext*)':
D:\libui\build/../windows/draw.cpp:124: undefined reference to `operator delete(void*)'
./libui.a(windows_draw.cpp.obj):draw.cpp:(.xdata$_ZNSt6vectorI9drawStateSaIS0_EEC1Ev+0xc): undefined reference to `__gxx_personality_seh
0'
./libui.a(windows_draw.cpp.obj):draw.cpp:(.xdata$_ZNSt6vectorI9drawStateSaIS0_EED1Ev+0xc): undefined reference to `__gxx_personality_seh
0'
./libui.a(windows_draw.cpp.obj):draw.cpp:(.xdata$_ZNSt6vectorI9drawStateSaIS0_EE8pop_backEv+0xc): undefined reference to `__gxx_personal
ity_seh0'
./libui.a(windows_draw.cpp.obj):draw.cpp:(.xdata$_ZNSt12_Vector_baseI9drawStateSaIS0_EED2Ev+0xc): undefined reference to `__gxx_personal
ity_seh0'
./libui.a(windows_draw.cpp.obj): In function `void std::vector<drawState, std::allocator<drawState> >::_M_realloc_insert<drawState const
&>(__gnu_cxx::__normal_iterator<drawState*, std::vector<drawState, std::allocator<drawState> > >, drawState const&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:457: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:465: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:457: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_draw.cpp.obj):draw.cpp:(.xdata$_ZNSt6vectorI9drawStateSaIS0_EE17_M_realloc_insertIJRKS0_EEEvN9__gnu_cxx17__normal_iter
atorIPS0_S2_EEDpOT_+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_draw.cpp.obj): In function `std::vector<drawState, std::allocator<drawState> >::_M_check_len(unsigned long long, char
const*) const':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_vector.h:1638: unde
fined reference to `std::__throw_length_error(char const*)'
./libui.a(windows_draw.cpp.obj): In function `__gnu_cxx::new_allocator<drawState>::deallocate(drawState*, unsigned long long)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_draw.cpp.obj): In function `__gnu_cxx::new_allocator<drawState>::allocate(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_drawmatrix.cpp.obj):D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/d2d1help
er.h:402: undefined reference to `D2D1MakeRotateMatrix'
./libui.a(windows_drawmatrix.cpp.obj):D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include/d2d1help
er.h:408: undefined reference to `D2D1MakeSkewMatrix'
./libui.a(windows_drawmatrix.cpp.obj): In function `uiDrawMatrixInvertible':
D:\libui\build/../windows/drawmatrix.cpp:87: undefined reference to `D2D1IsMatrixInvertible'
./libui.a(windows_drawmatrix.cpp.obj): In function `uiDrawMatrixInvert':
D:\libui\build/../windows/drawmatrix.cpp:95: undefined reference to `D2D1InvertMatrix'
./libui.a(windows_dwrite.cpp.obj): In function `uiprivInitDrawText()':
D:\libui\build/../windows/dwrite.cpp:11: undefined reference to `__imp_DWriteCreateFactory'
./libui.a(windows_image.cpp.obj): In function `uiprivInitImage()':
D:\libui\build/../windows/image.cpp:10: undefined reference to `__imp_CoCreateInstance'
./libui.a(windows_image.cpp.obj): In function `uiNewImage':
D:\libui\build/../windows/image.cpp:33: undefined reference to `operator new(unsigned long long)'
./libui.a(windows_image.cpp.obj): In function `uiFreeImage':
D:\libui\build/../windows/image.cpp:41: undefined reference to `operator delete(void*)'
./libui.a(windows_image.cpp.obj): In function `uiprivImageAppropriateForDC(uiImage*, HDC__*)':
D:\libui\build/../windows/image.cpp:171: undefined reference to `__imp_GetDeviceCaps'
D:\libui\build/../windows/image.cpp:172: undefined reference to `__imp_GetDeviceCaps'
./libui.a(windows_image.cpp.obj): In function `uiprivWICToGDI(IWICBitmap*, HDC__*, int, int, HBITMAP__**)':
D:\libui\build/../windows/image.cpp:257: undefined reference to `__imp_CreateDIBSection'
D:\libui\build/../windows/image.cpp:268: undefined reference to `__imp_GetObjectW'
D:\libui\build/../windows/image.cpp:276: undefined reference to `__imp_DeleteObject'
./libui.a(windows_image.cpp.obj):image.cpp:(.xdata$_ZNSt6vectorIP10IWICBitmapSaIS1_EEC1Ev+0xc): undefined reference to `__gxx_personalit
y_seh0'
./libui.a(windows_image.cpp.obj):image.cpp:(.xdata$_ZNSt6vectorIP10IWICBitmapSaIS1_EED1Ev+0xc): undefined reference to `__gxx_personalit
y_seh0'
./libui.a(windows_image.cpp.obj):image.cpp:(.xdata$_ZNSt12_Vector_baseIP10IWICBitmapSaIS1_EED2Ev+0xc): undefined reference to `__gxx_per
sonality_seh0'
./libui.a(windows_image.cpp.obj): In function `void std::vector<IWICBitmap*, std::allocator<IWICBitmap*> >::_M_realloc_insert<IWICBitmap
* const&>(__gnu_cxx::__normal_iterator<IWICBitmap**, std::vector<IWICBitmap*, std::allocator<IWICBitmap*> > >, IWICBitmap* const&)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:457: undefin
ed reference to `__cxa_begin_catch'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:465: undefin
ed reference to `__cxa_rethrow'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/vector.tcc:457: undefin
ed reference to `__cxa_end_catch'
./libui.a(windows_image.cpp.obj):image.cpp:(.xdata$_ZNSt6vectorIP10IWICBitmapSaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal
_iteratorIPS1_S3_EEDpOT_+0xc): undefined reference to `__gxx_personality_seh0'
./libui.a(windows_image.cpp.obj): In function `std::vector<IWICBitmap*, std::allocator<IWICBitmap*> >::_M_check_len(unsigned long long,
char const*) const':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/stl_vector.h:1638: unde
fined reference to `std::__throw_length_error(char const*)'
./libui.a(windows_image.cpp.obj): In function `__gnu_cxx::new_allocator<IWICBitmap*>::deallocate(IWICBitmap**, unsigned long long)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:125: und
efined reference to `operator delete(void*)'
./libui.a(windows_image.cpp.obj): In function `__gnu_cxx::new_allocator<IWICBitmap*>::allocate(unsigned long long, void const*)':
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:102: und
efined reference to `std::__throw_bad_alloc()'
D:/Program/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/new_allocator.h:111: und
efined reference to `operator new(unsigned long long)'
./libui.a(windows_parent.cpp.obj): In function `parentDraw':
D:\libui\build/../windows/parent.cpp:37: undefined reference to `__imp_CreateCompatibleDC'
D:\libui\build/../windows/parent.cpp:40: undefined reference to `__imp_CreateCompatibleBitmap'
D:\libui\build/../windows/parent.cpp:43: undefined reference to `__imp_SelectObject'
./libui.a(windows_parent.cpp.obj): In function `endParentDraw':
D:\libui\build/../windows/parent.cpp:54: undefined reference to `__imp_SelectObject'
D:\libui\build/../windows/parent.cpp:57: undefined reference to `__imp_DeleteObject'
D:\libui\build/../windows/parent.cpp:60: undefined reference to `__imp_DeleteDC'
./libui.a(windows_parent.cpp.obj): In function `getControlBackgroundBrush':
D:\libui\build/../windows/parent.cpp:78: undefined reference to `__imp_CreatePatternBrush'
D:\libui\build/../windows/parent.cpp:91: undefined reference to `__imp_SetBrushOrgEx'
./libui.a(windows_parent.cpp.obj): In function `paintContainerBackground(HWND__*, HDC__*, tagRECT*)':
D:\libui\build/../windows/parent.cpp:111: undefined reference to `__imp_BitBlt'
./libui.a(windows_parent.cpp.obj): In function `handleParentMessages(HWND__*, unsigned int, unsigned long long, long long, long long*)':

D:\libui\build/../windows/parent.cpp:133: undefined reference to `__imp_DeleteObject'
D:\libui\build/../windows/parent.cpp:135: undefined reference to `__imp_SetBkMode'
collect2.exe: error: ld returned 1 exit status

kdurant avatar Sep 19 '19 13:09 kdurant

I can't solve problems.

I'm not trying to be a dick here, but maybe software development is not for you.

mdbingers avatar Oct 14 '19 01:10 mdbingers

Hmm... You're compiling pure C (gcc is the C compiler, g++ is the C++ compiler). From memory, the windows version of libui is compiled with C++. I thought all the C++-ness was contained withing libui, and from the outside it looked just like a plain old C library, but those link errors all look like it's trying to link with the C++ runtime (libstdc++? I forget). So that looks to me like libui hasn't compiled correctly somehow.

Anyway, a potential workaround: compile your code with c++ too, eg, change:

$ gcc main.c -L. -lui

to:

$ g++ main.c -L. -lui

To be clear, I'm pretty sure you should be able to link libui to a plain C program without any problems, so this doesn't fix the underlying issue, but it might at least get you started. Good luck!

bcampbell avatar Oct 14 '19 04:10 bcampbell

@bcampbell With static libraries, the consumer of a library has to explicitly link against all libraries that the library itself was linked with. The static library does not contain this information, so the linker cannot recursively link in dependencies by itself. In the case of libui, this means that the application also has to link with the C++ standard library on Windows (plus any required DLLs such as -luser32, -luxtheme, ...), gtk in Linux, etc.

nomadictype avatar Oct 14 '19 05:10 nomadictype