gpt4 book ai didi

c++ - 使用 MXE gcc 构建 Qt 应用程序时缺少 std::mutex

转载 作者:太空狗 更新时间:2023-10-29 12:01:59 24 4
gpt4 key购买 nike

我正在尝试获取一个 Qt 应用程序,以便在针对 Windows 的 linux 下从命令行构建。我已经使用 mxe 为目标窗口构建了一个工具链,但是我的构建失败了,提示各种线程相关位。 mxe 使用 winpthreads 构建,我知道 Qt 项目将使用预打包的 mingw 编译器从 creator 内部构建在 windows 本身上。我正在使用我的 ARM Linux 交叉编译器成功构建,所以我只想让 Windows 完成同样的工作。我正在尝试在构建服务器上或从 Jenkins 为我的所有目标获取一行构建。

我猜我在进行交叉工具链构建时遗漏了一些我需要传递给 mxe 的东西,或者遗漏了一些我需要传递给 qmake 才能成功构建的东西。

最佳答案

问题在于使用 win32 线程而不是 mingws pthreads 实现的 GCC 默认 MXE 构建。

编辑 src/gcc.mk 并确保将 winpthreads 添加到 $(PKG)_DEPS 列表中,然后更改配置行,使 --enable-threads=win32 变为 --enable-threads=posix。

然后重新制作winpthreads和gcc。请注意,这里存在循环依赖,您需要先使用 win32 线程(默认)构建 gcc,然后使用 winpthreads 重新制作。

为此感谢 Andreia Gaita - http://blog.worldofcoding.com/2014/05/cross-compiling-c11-without-going-madder.html

关于c++ - 使用 MXE gcc 构建 Qt 应用程序时缺少 std::mutex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31831762/

24 4 0
文章推荐: html - 为什么 margin-top 会影响绝对 div 的位置?
文章推荐: CSS:为什么这个内联 block div 不显示在同一行上?
文章推荐: html - 为什么正文类会覆盖页脚 html
文章推荐: html - 哪些浏览器支持 标签?