Hi,
I'm trying to use STL container "map" with MySQL server but I'm getting the following link
error at the very end.
CXXFLAGS="-DUSE_SYS_STL"
table.h has the following
#include <map>
.
.
.
std::map<int,int> foo;
Are there any name conflicts, since table.h is eventually included in just about every
source ?
I'm not sure if I can use namespace to work around this problem ?
Thanks,
Hiromichi
-----------------------------------------------------------------------------------------------------------------------------------------------------------
.
.
.
.
.
[100%] Building CXX object sql/CMakeFiles/sql.dir/sql_yacc.cc.o
[100%] Building CXX object sql/CMakeFiles/sql.dir/sql_builtin.cc.o
Linking CXX static library libsql.a
[100%] Built target sql
[100%] Building CXX object sql/CMakeFiles/mysqld.dir/main.cc.o
Linking CXX executable mysqld
libsql.a(sql_base.cc.o): In function `std::_Rb_tree<int, std::pair<int const,
int>, std::_Select1st<std::pair<int const, int> >, std::less<int>,
std::allocator<std::pair<int const, int> > >::~_Rb_tree()':
sql_base.cc:(.text._ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EED2Ev[_ZNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiESaIS2_EED5Ev]+0x28):
undefined reference to `std::_Rb_tree<int, std::pair<int const, int>,
std::_Select1st<std::pair<int const, int> >, std::less<int>,
std::allocator<std::pair<int const, int> >
>::_M_erase(std::_Rb_tree_node<std::pair<int const, int> >*)'
libsql.a(sql_insert.cc.o): In function `std::map<int, int, std::less<int>,
std::allocator<std::pair<int const, int> > >::operator=(std::map<int,
int, std::less<int>, std::allocator<std::pair<int const, int> > >
const&)':
sql_insert.cc:(.text._ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEaSERKS6_[std::map<int, int,
std::less<int>, std::allocator<std::pair<int const, int> >
>::operator=(std::map<int, int, std::less<int>,
std::allocator<std::pair<int const, int> > > const&)]+0x20): undefined
reference to `std::_Rb_tree<int, std::pair<int const, int>,
std::_Select1st<std::pair<int const, int> >, std::less<int>,
std::allocator<std::pair<int const, int> >
>::operator=(std::_Rb_tree<int, std::pair<int const, int>,
std::_Select1st<std::pair<int const, int> >, std::less<int>,
std::allocator<std::pair<int const, int> > > const&)'
collect2: ld returned 1 exit status
make[2]: *** [sql/mysqld] Error 1
make[1]: *** [sql/CMakeFiles/mysqld.dir/all] Error 2
make: *** [all] Error 2