gpt4 book ai didi

c++ - MinGW-w64线程创建失败

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:57:35 34 4
gpt4 key购买 nike

解决方案:在各种链接器选项中传递“-static” - -或者 - -解决方案:下载此 MinGW 版本 http://sourceforge.net/projects/mingwbuilds/?source=dlp

我将 Eclipse 与 MinGW-w64 工具链结合使用。我的 GCC 版本是 4.8

我想创建一个由 2 个线程组成的应用程序。我已经尝试将其实现到我的实际应用程序中。因此它没有用,我决定制作一个新的测试应用程序。

来源(main.cpp):

#include <iostream>
#include <thread>

using namespace std;

void test() {
cout << "works.." << endl;
}

int main() {

thread t(test);
t.join();

return 0;
}

构建过程:

21:19:51 **** Build of configuration Debug for project Test ****
make all
Building file: ../main.cpp
Invoking: GCC C++ Compiler
g++ -std=gnu++11 -O0 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp"
Finished building: ../main.cpp

Building target: Test.exe
Invoking: MinGW C++ Linker
g++ -o "Test.exe" ./main.o -lpthread -lwinpthread -pthread -lpthread
Finished building target: Test.exe


21:19:53 Build Finished (took 1s.863ms)

运行时出现如下错误:

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
terminate called after throwing an instance of 'std::system_error'
what(): Operation not permitted

顺便说一句:许多 -pthread 等命令来自几次尝试以使其工作。我正在运行 win vista 32 位

如果有人知道如何解决我的问题,我将不胜感激。提前致谢!

最佳答案

请参阅此处了解可添加到任何 C++11 版本的 MinGW 的 native win32 std::thread 实现: https://github.com/meganz/mingw-std-threads

关于c++ - MinGW-w64线程创建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15992013/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com