Boost线程终止程序?

时间:2014-01-06 15:58:14

标签: c++ eclipse multithreading boost

我有一个来自教程的提升线程程序,我可以编译它没有任何问题或警告,但当我运行它时,我没有得到任何输出形式的eclipse。该计划任期一次。我正在使用MiNGW与我的日食这可能是问题吗?

有人有想法吗?欢迎所有的消遣!

以下是我使用的教程代码,来自this site

#include <iostream>
#include <boost/thread.hpp>
#include <boost/date_time.hpp>

void workerFunc()
{
    boost::posix_time::seconds workTime(10000);

    std::cout << "Worker: running" << std::endl;

    // Pretend to do something useful...
    boost::this_thread::sleep(workTime);

    std::cout << "Worker: finished" << std::endl;
}

int main(int argc, char* argv[])
{
    std::cout << "main: startup" << std::endl;

    boost::thread workerThread(workerFunc);

    std::cout << "main: waiting for thread" << std::endl;

    workerThread.join();

    std::cout << "main: done" << std::endl;

    return 0;
}

更新

我在mingw链接器下链接了pthread并且程序编译但结果是相同的。当我把我破坏在主要下方时,我得到了这个:

自动设置目标字节序(当前是小端) [新主题4168.0xbf8]

程序终止了,有人有想法吗?

1 个答案:

答案 0 :(得分:0)

您需要确保在boost_thread和pthread库中进行链接。