2011-08-28 15 views
7

tengo el siguiente código:usando from_string con fecha impulso

#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; 

} 

y cuando compilo, me sale el siguiente 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 

es esto un problema de enlace de la biblioteca?

+0

Sí, es un problema de enlace de la biblioteca. ¿Te vinculaste con las bibliotecas estáticas de boost? –

+0

no, no lo hice, acabo de hacerlo y estoy obteniendo el error que he enumerado a continuación ... – itcplpl

Respuesta

8

Boost fecha_hora no está de cabecera única, es necesario vincularlo en la línea de comandos, por ejemplo:

gcc myprogram.cpp -omyprogram -lboost_date_time 
+0

gracias Autopulated, lo hice, ahora me aparece este error: error: 'locale' no se declaró en este ámbito ¿Cómo arreglo eso? – itcplpl

+0

@itcplpl ¿Cambiaste el código? – James

+0

no, acabo de compilarlo de nuevo ... ¿funciona cuando compilas? – itcplpl

Cuestiones relacionadas