berkeley DB: can't compile c++ codes
- by Brian
When I compiled the sample codes of C++, I got following info:
c++ excxx_example_database_read.cpp -o dbApp -I /usr/local/BerkeleyDB.5.0/include/
Undefined symbols:
"Dbt::Dbt(void*, unsigned int)", referenced from:
show_vendor(MyDb&, char const*)in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
"Dbc::get(Dbt*, Dbt*, unsigned int)", referenced from:
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
"Dbc::close()", referenced from:
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
"Dbt::~Dbt()", referenced from:
show_vendor(MyDb&, char const*)in ccnaWItX.o
show_vendor(MyDb&, char const*)in ccnaWItX.o
show_vendor(MyDb&, char const*)in ccnaWItX.o
show_vendor(MyDb&, char const*)in ccnaWItX.o
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
"Db::~Db()", referenced from:
MyDb::~MyDb() in ccnaWItX.o
MyDb::~MyDb() in ccnaWItX.o
"typeinfo for DbException", referenced from:
GCC_except_table3 in ccnaWItX.o
GCC_except_table4 in ccnaWItX.o
GCC_except_table5 in ccnaWItX.o
GCC_except_table6 in ccnaWItX.o
__ZTI11DbException$non_lazy_ptr in ccnaWItX.o
"DbException::~DbException()", referenced from:
__ZN11DbExceptionD1Ev$non_lazy_ptr in ccnaWItX.o
"MyDb::close()", referenced from:
MyDb::~MyDb() in ccnaWItX.o
"MyDb::MyDb(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)", referenced from:
_main in ccnaWItX.o
_main in ccnaWItX.o
_main in ccnaWItX.o
"Dbt::Dbt()", referenced from:
show_vendor(MyDb&, char const*)in ccnaWItX.o
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
"DbException::get_errno() const", referenced from:
show_vendor(MyDb&, char const*)in ccnaWItX.o
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
_main in ccnaWItX.o
"DbException::DbException(DbException const&)", referenced from:
show_vendor(MyDb&, char const*)in ccnaWItX.o
show_all_records(MyDb&, MyDb&) in ccnaWItX.o
show_item(MyDb&, MyDb&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in ccnaWItX.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
I have no idea what is the problem. Please help!