2

我正在使用 Boost Date_Time 库编写一个非常愚蠢的程序。

int main(int srgc, char** argv) {
   using namespace boost::posix_time; 
   date d(2002,Feb,1); //an arbitrary date 
   ptime t1(d, hours(5)+nanosec(100)); //date + time of day offset 
   ptime t2 = t1 - minutes(4)+seconds(2);
   ptime now = second_clock::local_time(); //use the clock 
   date today = now.date(); //Get the date part out of the time 
}

好吧,我无法编译它,编译器无法识别类型...嗯,我使用了 Boost 库的许多功能,例如序列化等等...我正确地构建了它们,并且查看我的 /usr/local/lib 文件夹,我可以看到libboost_date_time.so 在那里(一个好兆头,这意味着我能够构建那个库)

当我编译时,我写了以下内容:

g++ -lboost_date_time main.cpp

但是当我指定库时它向我显示的错误与我没有指定任何库的错误相同。

这是什么?有谁知道?

错误是

main.cpp:在函数'int main(int,char**)'中:main.cpp:9:错误:'date'未在此范围内声明main.cpp:9:错误:预期';' 在'd' main.cpp:10 之前:错误:未在此范围内声明'd' main.cpp:10:错误:未在此范围内声明'nanosec' main.cpp:13:错误:预期为';' 在“今天”之前</p>

4

1 回答 1

3

虽然我无法弄清楚ss您的代码中有什么,但符合条件的dateFeb以下内容将使您的代码有效。

boost::gregorian::date
boost::date_time::Feb

希望这可以帮助。

于 2011-01-17T13:37:34.577 回答