使用 g : 'std::system_error' 编译多线程代码已解决
编译多线程代码时遇到错误 'std::system_error'与 g 可能会令人沮丧。尽管明确指定了“-pthread”标志,问题仍然存在。
调查提供的代码,似乎没有任何明显的问题。然而,这个问题是由 gcc 中的一个错误引起的。 SO C 聊天成员提供的解决方法提供了一个解决方案:
-Wl,--no-as-needed
添加到编译命令后,此标志解决了问题,允许多线程代码成功编译和运行。更新后的编译命令为:
$ g++ main.cpp -o main.out -pthread -std=c++11 -Wl,--no-as-needed
以上是为什么即使使用'-pthread”,我的多线程代码仍然抛出'std::system_error”?的详细内容。更多信息请关注PHP中文网其他相关文章!