我正在使用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
但是当我指定lib时它显示的错误与我没有指定任何lib的错误相同。
这是什么?有人知道吗?错误是
main.cpp:在函数'int main(int, char **)':main.cpp:9:错误:'日期' 在这方面没有申明 main.cpp:9:错误:预期';'之前 'd'main.cpp:10:错误:'d'不是 在此范围内声明main.cpp:10: 错误:'nanosec'未被声明 这个范围main.cpp:13:错误: 预期';'在'今天'之前
答案 0 :(得分:2)
虽然我无法弄清楚代码中的ss
是什么,
排位date
和Feb
如下所示将使您的代码有效。
boost::gregorian::date
boost::date_time::Feb
希望这有帮助。