Poniższy kod daje błąd kompilacji z g ++ - 4.7.0 ale kompiluje dobrze z g ++ - 4.6.doładowanie :: data_time, g ++ - 4.7.0, błąd kompilacji
#include <iostream>
#include <boost/date_time/local_time/local_time.hpp>
using namespace std;
int main(){
boost::posix_time::ptime time_t_epoch(boost::gregorian::date(1970,1,1));
cout << time_t_epoch << endl;
return 0;
}
Poniżej znajduje się komunikat o błędzie, który jest wielokrotnie widziany (kompilator generuje dużo wiadomości)
/usr/include/boost/date_time/local_time/local_date_time.hpp:433:84: error: use of deleted function boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >::shared_ptr(const boost::shared_ptr<boost::date_time::time_zone_base<boost::posix_time::ptime, char> >&)
używam Ubuntu 12.04 i libboost-Date-time1.46.1.
Wszelkie sugestie?
Czy używasz tej samej wersji boost w obu przypadkach? – juanchopanza
Tak. Nie widzę żadnej innej wersji bibliotek boost zainstalowanych na moim komputerze. Btw, jest to błąd kompilacji, prawda? więc czy tutaj ma znaczenie wersja biblioteki? – suresh
To jest błąd kompilacji. Nie mogę tego odtworzyć, ale moje zwiększenie nie jest budowane za pomocą C++ 11. Wygląda na to, że twoja jest (usunięcie konstruktora to C++ 11), więc domyślam się, że doładowanie jest budowane inaczej na najnowszym ubuntu. Czy zbudowałeś to sam, czy użyłeś 'get-apt install'? – juanchopanza