编译boost程序疏失

编译boost程序出错
#define BOOST_THREAD_USE_LIB
#include <iostream>
#include <string>
#include <boost/thread.hpp>
using namespace std;
using namespace boost;
void threadRoutine(void)
{
    boost::xtime time;
    time.nsec = 0;
    time.sec = 20;
    cout<<"线程函数做一些事情" << endl;
    boost::thread::sleep(time);   
}
int main(void)
{
    string str;
    cout<<"输入任意字符开始创建一个线程..." << endl;
    cin>>str;
    boost::thread t(&threadRoutine);
    t.join();
    cout<<"输入任意字符结束运行..."<<endl;
    cin >> str;
    return 0;
}



编译命令:g++ aa.cpp -lboost_thread -lpthread -lboost_filesystem

错误:
/tmp/ccFzAbMa.o: In function `main':
aa.cpp:(.text+0x11c): undefined reference to `boost::thread::~thread()'
aa.cpp:(.text+0x13d): undefined reference to `boost::thread::~thread()'
请问大家怎么解决,网上看了很多说法,都解决不了

------解决方案--------------------
vs2008上测试没问题。
------解决方案--------------------
应该是有些boost的库文件没有链接。
------解决方案--------------------
你用了xtime,难道是time库没有编译????
------解决方案--------------------
你有库没链接吧?
------解决方案--------------------
boost thread库要单独编译出静态库或动态库再链接