Using from_string with afterburner date

I have the following code:

#include <iostream> #include <string> #include <iomanip> #include <locale> #include <boost/date_time/gregorian/gregorian.hpp> #include <boost/date_time/gregorian/parsers.hpp> #include <boost/date_time/posix_time/posix_time.hpp> #include <boost/date_time/posix_time/posix_time_io.hpp> using namespace boost::posix_time; using namespace boost::gregorian; int main(int argc, char *argv[]) { std::string ds("2011-01-02"); date dt(from_string(ds)); date_facet *f=new date_facet("%Y-%m-%d"); std::locale loc=std::locale(std::locale::classic(),f); std::cout.imbue(loc); std::cout<<dt<<std::endl; return 0; } 

and when I compile it, I get the following error:

 /tmp/ccBWTFcx.o: In function `unsigned short boost::date_time::month_str_to_ushort<boost::gregorian::greg_month>(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': b.cpp:(.text._ZN5boost9date_time19month_str_to_ushortINS_9gregorian10greg_monthEEEtRKSs[unsigned short boost::date_time::month_str_to_ushort<boost::gregorian::greg_month>(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0x97): undefined reference to `boost::gregorian::greg_month::get_month_map_ptr()' collect2: ld returned 1 exit status 

is this a problem with the library?

+7
source share
1 answer

Boost date_time is not only a header, you need to bind it on the command line, for example:

 gcc myprogram.cpp -omyprogram -lboost_date_time 
+8
source

All Articles