求解为啥qt5.7.0缺少对应的编译器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求解为啥qt5.7.0缺少对应的编译器相关的知识,希望对你有一定的参考价值。

参考技术A 因为关系到采用hash算法的集合;比如说当对象作为hashMap的key时。 两个对象必须保证equals为true,hashcode相等;但hashcode相等,equals不必返回true 你可以让hashcode返回常量,但是这样的话hash算法的效率就是线性查找了。
线程A等待线程B的数据,线程B等待线程A的数据,互相等待,就会陷入阻塞,这也是一种线程阻塞。 阻塞状态是正在运行的线程遇到某个特殊情况。例如,延迟、挂起、等待I/O操作完成等。 进入阻塞状态的线程让出CPU,并暂时停止自己的执行。本回答被提问者采纳

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

【中文标题】使用 MXE gcc 构建 Qt 应用程序时缺少 std::mutex【英文标题】:std::mutex missing when building Qt app with MXE gcc 【发布时间】:2015-08-05 11:52:53 【问题描述】:

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

我猜我在进行跨工具链构建时遗漏了一些我需要传递给 mxe 的东西,或者遗漏了一些我需要传递给 qmake 以使这个构建成功的东西。

【问题讨论】:

【参考方案1】:

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

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

然后重新制作winpthreads和gcc。注意这里有一个循环依赖,你需要先用win32线程(默认)构建gcc,然后用winpthreads remake。

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

【讨论】:

【参考方案2】:

POSIX 配置已添加到 MXE (Building pthreads inline with gcc and enable optional posix threads in libgcc)。

例如,用它构建 qt(x64、共享、posix 线程):

make MXE_TARGETS='x86_64-w64-mingw32.shared.posix' qt

【讨论】:

以上是关于求解为啥qt5.7.0缺少对应的编译器的主要内容,如果未能解决你的问题,请参考以下文章

qt 5.7.0 配置后在 cygwin 中出错

C语言写的链表。明明没有错误,为啥编译器还会报错,?而且还爆出100+的错误,求解。

qt5.7不能输入中文,求解决方法。环境L:ubuntu 14.04.05 QT5.7.0 用的输入法是搜狗!

使用VS2013+QT5.7.0开发简单计算器

为啥 g++ 接受缺少基础类型的引用类型?

求解:Android逆向-AndroidKiller-反编译软件后啥都没改回编就失败。。。