对于学校的一个小项目,我需要创建一个简单的客户端/服务器结构,它将在路由器(使用 openWRT)上运行,并且我正在尝试在这个应用程序中使用线程做一些事情。
我的 C++ 技能非常有限,所以我在互联网上找到了这个作为基本示例。
#include <thread>
#include <iostream>
void doSomeWork( void )
{
std::cout << "hello from thread..." << std::endl;
return;
}
int main( int argc, char *argv[] )
{
std::thread t( doSomeWork );
t.join();
return 0;
}
当我尝试在 Xcode (4.5.2) 中运行它时,我收到以下错误:
尝试使用已删除的功能
它显示了一些代码:
__threaad_execute(tuple<_Fp, _Args...>& __t, __tuple_indices<_Indices...>)
{
__invoke(_VSTD::move(_VSTD::get<0>(__t)), _VSTD::move(_VSTD::get<_Indices>(__t))...);
}
我想我需要用“构建设置”或“链接库”之类的东西做些什么?但我不太确定该怎么做。我想我可能需要设置以下设置(我在这里找到)
- 在项目的 Build Settings 选项卡中,向下滚动到“Apple LLVM Compiler 4.1 - Language”
- 将设置“C++ 语言方言”设置为“C++11 [-std=c++11]”
- 将设置“C++ 标准库”设置为“libc++(支持 C++11 的 LLVM 标准 C++ 库)”
但是那些已经设置好的设置。
是否有任何标志/库或我缺少的东西?