问题标签 [pthreads-win32]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2444 浏览

c++ - 将现代 C++ 从 Linux 交叉编译到 Windows

我有一些现代 C++ 源代码(比如 C++17),我可以毫无问题地在 Linux 上为 Linux 32/64 编译复杂的源代码,并在 Windows 上使用 mingw-w64(来自 msys2)为 Windows 32/64 编译复杂的源代码。

现在我想在 Linux 上为 Windows 交叉编译,以避免使用虚拟机来编译。

所以我尝试从 Ubuntu 存储库安装 mingw-w64,但它是用 编译的,它与例如 C++11--enable-threads=win32不兼容。std::mutex

我无法mingw-w64-v7从源代码编译(它只编译一堆库而不是编译器本身),我也无法获得已经为 Linux 64 位编译的单个二进制文件。

设置从 Linux 编译现代 C++ 以获得 Windows 32 和 64 位可执行文件的交叉编译工具链的方法是什么?

0 投票
1 回答
163 浏览

gcc - Windows 上的链接问题与 pthreads - 是 gcc 还是 SystemC 的罪魁祸首?

你好,

我最近遇到了一个我无法解释的链接问题。

这是一个非常简单的示例:

sc_main.cpp:

我使用以下内容进行编译和链接,使用 winlibs-x86_64-posix-seh-gcc-10.2.0-mingw-w64-8.0.0-r7.7z

现在,因为我的目标是 Win64,并且因为我想制作一个不依赖于 MinGW-64 运行时库的可执行文件,所以我一直在研究许多可能的设置:

在这一点上,有时它可以工作,有时它不会,这取决于我使用的 SystemC 版本:

 

请注意,我使用的工具链基于 gcc 10.2.0,但这不相关。我只使用了这个工具链,因为它基于最新的 MinGW 库(8.0.0)

事实上,我已经基于相同的 MinGW 8.0.0 库和 gcc 6.3.0 生成了我自己的(交叉编译)工具链(在 linux 上运行),我看到了完全相同的结果。

知道发生了什么吗?我做错什么了吗?我不太确定这个问题是否与 SystemC 或 GCC/winpthreads 有关,但我很想认为 SystemC 可以被免除。那么谁应该受到责备,是否有解决方法?

0 投票
1 回答
229 浏览

windows - 在 Windows pthread_setaffinity_np 上设置 CPU 亲和性错误

我有一个多线程项目。我想将 CPU 亲和性设置为特定线程。我在 Windows 上工作并使用 MinGW 编译器。但是当我初始化类型 cpu_set_t 时,我有一个错误“类型 cpu_set_t 未在此范围内声明”。我不明白原因。我期待你的帮助!谢谢你!

0 投票
0 回答
80 浏览

c - pthread-win32 问题,cmake,-1073741515 (0xC0000135)

我正在尝试在 Windows 上使用 pthread win-32,我创建了一个示例应用程序来测试 pthread 库,但程序运行不正常,减去错误代码令人兴奋。我使用 MSVC 进行编译,使用 cmake 构建项目。

我得到的错误:Process finished with exit code -1073741515 (0xC0000135)

程序代码:

制作清单:

C:/Users/Tharindu/Downloads/pthrad/Pre-built.2/include目录包括pthread.h,sched.hsemaphore.h

有人可以帮我解决这个问题吗?

谢谢

0 投票
2 回答
29 浏览

multithreading - 在MinGW环境下必须使用pthread库编译多线程程序吗?

在MinGW环境下必须使用pthread库编译多线程程序吗?我在TrueStudio中看到集成MinGW中的头文件声明了_beginthreadex函数。但程序运行出现异常。我不知道我是否使用了 _ beginthreadex 函数。

更新:以上信息是否表明MSVC编译器需要支持_beginthreadex函数,而不是_beginthread函数?