我定义了以下非常简单的测试用例:
#define BOOST_TEST_MODULE thread_test_module
#include <boost/test/unit_test.hpp>
#include <thread>
void do_nothing() {}
BOOST_AUTO_TEST_CASE ( boost_thread_test )
{
std::thread t(do_nothing);
t.join();
}
运行时,我收到以下错误:
unknown location(0): fatal error in "boost_thread_test": std::runtime_error: Operation not permitted
根据this post,似乎这应该有效。为什么不呢?
答案 0 :(得分:6)
此问题的解决方案是通过将pthread
添加到我的链接器命令行来链接-lpthread
库。