作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在 VS 2017 中为 Linux 开发多线程应用程序。
作为远程 Linux 机器,我在 Windows 中使用内置的 Ubuntu bash,这是周年更新的一部分。
编译顺利,构建成功。但是在运行程序后立即出现以下错误。
terminate called after throwing an instance of 'std::system_error'
what(): Enable multithreading to use std::thread: Operation not permitted
我试图摆弄链接和编译设置。但我只是搞砸了整个项目。
有没有人遇到并解决过这种问题?谢谢。
编辑:此线程被标记为重复。让我解释一下为什么我认为这是不同的。我正在使用 VS2017 在 Windows 主机上开发,我试图在 VS2017 中实现工作调试。我无法像建议的重复线程那样直接编辑编译例程命令。
最佳答案
我知道@Andrey Turkin 已经在评论中给出了答案。我想在这里将其添加为答案,因为并非所有人都会阅读评论。我已经搜索了 2 天了,@Andrey Turkin 帮助我解决了这个问题。请按照他的评论来解决这个问题。
假设平台工具集是“Remote_GCC_1_0”;您需要做的就是添加“-pthread”来编译和链接命令行。 VS 配置将大多数 g++ 选项映射到特定的配置值,但不是这个。转到项目的配置,“C/C++ -> 所有选项”,将“-pthread”添加到“其他选项”配置值。转到“链接器 -> 所有选项”并执行相同的操作。
关于c++ - 如何在 Visual Studio 2017 中为 Linux 应用程序启用多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43378910/
我是一名优秀的程序员,十分优秀!