c++ - 如何在 Visual Studio 2017 中为 Linux 应用程序启用多线程

标签 c++ linux multithreading visual-studio-2017

我目前正在 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/

相关文章:

python - 在ubuntu 18.04上安装python 2.7

java - 在这种情况下,ForkJoinPool 可以比 ExecutorService 更快吗?

c++ - 如何使用 boost MPI 出现死锁情况(我使用 MPICH 编译器)?

c++ - 交换 std::list 中的相邻元素

c++ - 如何在 CMake 中正确创建目标之间的依赖关系?

视频游戏中纹理流的 C++ 内存管理

linux - 无法回显对文件所做的更改

Rstudio CentOS 6 无法下载 'googleway'

java - 当我们打开 Android 应用程序时,主 UI 线程会执行哪些操作

python - 多处理池工作线程中的线程标识符