XCode std::thread C++

XCode std::thread C++

本文关键字:C++ thread XCode std      更新时间:2023-10-16

对于一个小型学校的小型项目,我需要创建一个简单的客户端/服务器构造,该构建将在路由器(带有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))...);
}

我认为我需要对"构建设置"或"链接库"做点事?但是我不太确定该怎么做。我认为我可能需要设置以下设置(我在这里找到)

  • 在您的项目的"构建设置"选项卡中,向下滚动到" Apple LLVM编译器4.1-语言"
  • 将设置" C 语言方言"设置为" C 11 [-std = C 11]"
  • 将设置" C 标准库"设置为" LIBC (LLVM标准C 库具有C 11支持)"

但是那些已经设置的设置。

有没有标志/图书馆或我缺少的东西?

在Xcode中使用G 而不是LLVM。不要忘记在编译器构建设置中链接线程libs(-lpthread-或-pthread,-lrt)。并计算win/mac/linux OS的线程行为的差异(尽管它是POSIX)