c++ - Using chrono of C++11 with _USE_32BIT_TIME_T on -
the project i'm working on requires me use _use_32bit_time_t preprocessor definition. cannot rid of it. want use chrono library of c++11 timed wait. cannot working. here code i'm working on.
std::mutex *lock = new std::mutex; std::condition_variable *cv = new std::condition_variable; std::unique_lock<std::mutex> ulock(*lock); auto start = std::chrono::high_resolution_clock::now(); cv->wait_for(ulock, std::chrono::milliseconds(40)); auto finish = std::chrono::high_resolution_clock::now(); cout << std::chrono::duration_cast<std::chrono::nanoseconds>(finish - start).count() << "ns\n"; i following warning. compiles not work expected. not return wait_for, or if waits arbitrary times.
c:\program files (x86)\microsoft visual studio 12.0\vc\include\chrono(749): warning c4244: '=' : conversion '__int64' 'time_t', possible loss of data c:\program files (x86)\microsoft visual studio 12.0\vc\include\condition_variable(73) : see reference function template instantiation 'xtime std::_to_xtime<__int64,std::milli>(const std::chrono::duration<__int64,std::milli> &)' being compiled main.cpp(24) : see reference function template instantiation 'std::_cv_status std::condition_variable::wait_for<__int64,std::milli>(std::unique_lock<std::mutex> &,const std::chrono::duration<__int64,std::milli> &)' being compiled is there way use chrono _use_32bit_time_t on?
apparently there bug visual studio: http://connect.microsoft.com/visualstudio/feedbackdetail/view/972033/std-chrono-and-use-32bit-time-t-dont-work-togther
i ended using boost instead of standard c++11 libraries.
Comments
Post a Comment