使用boost库编写多线程程序:
#define BOOST_DATA_TIME_SOURCE
#define BOOST_THREAD_NO_LIB
#include <boost/thread/thread.hpp>
#include <iostream>
using namespace std;
using namespace boost;
void hello()
{
std::cout <<
"Hello world, I'm a thread!"
<< std::endl;
}
int main(int argc, char* argv[])
{
boost::thread thrd(&hello);
// 等待线程结束
thrd.join();
return 0;
}
编译时控制台提示错误:
**** Internal Builder is used for build ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -osrc/test.o ../src/test.cpp
g++ -otest.exe src/test.o
src/test.o: In function `main':
C:/eclipse/workspace/test/Debug/../src/test.cpp:22: undefined reference to `boost::thread::join()'
C:/eclipse/workspace/test/Debug/../src/test.cpp:20: undefined reference t