无法从源代码构建 qt(对于 OpenCV)

Posted

技术标签:

【中文标题】无法从源代码构建 qt(对于 OpenCV)【英文标题】:Unable to build qt from the source (for the OpenCV) 【发布时间】:2016-03-31 01:25:53 【问题描述】:

我正在尝试按照this 指南在我的 Windows 10 上安装 OpenCV。为了使用我自己构建的库安装它,我需要从源代码构建 qt。我从 qt 页面下载了最新的资源(5.6.0,我没有找到任何其他可用的资源),但是在输入之后

configure -release -no-webkit -no-phonon -no-phonon-backend -no-script -   no-scripttools
          -no-qt3support -no-multimedia -no-ltcg

在 VS2013/VS2015 命令提示符中,出现错误:

Unknown option -no-webkit
Unable to detect the platform from environment. Use -platform command line
argument or set the QMAKESPEC environment variable and run configure again.

我可以选择制作所有东西。但我必须指定平台。我没有找到怎么做。

谁能给我一个提示,如何正确安装qt?我有 VS 2013 和 2015。我将使用 VS2013,因为 CUDA 工具包 7.5 不支持 VS2015。

谢谢,

米哈伊尔

更新:我可以通过输入configure -platform win32-msvc2013 -mp -release 开始安装过程(虽然我有win64),但在接受许可证后,我收到一个错误:execute: File or path was not found(nmake)。截图附上

【问题讨论】:

这是一个hack that enables CUDA with VS2015. 它并不完美,但似乎有点实用。我希望 NVidia 能得到更新...... 万一您没有收到通知,我已经更新了我的答案以解决您的最新问题。让我知道它是否适合你。 【参考方案1】:

您是否尝试过使用 MSVC2013 命令提示符:

configure -platform win32-msvc2013 -mp -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg

然后输入:

nmake

更新:

此外,在此之前,请尝试将 Qt 源代码的路径与 bin 文件夹一起添加到 windows 的 PATH 变量中。

例如,如果您的 PATH 变量当前设置为 %SystemRoot%\system32;%SystemRoot%; 并且您的 Qt 源代码位于 C:\dev\Qt-5.6\ 然后将您的 PATH 变量设置为 %SystemRoot%\system32;%SystemRoot%;C:\dev\Qt-5.6;C:\dev\Qt-5.6\bin

这个网站解释了如何在 Windows 上更改 PATH 变量,以防你不熟悉它:http://www.computerhope.com/issues/ch000549.htm

然后重新启动 MSVC2013 命令提示符或 Windows。我相信这应该有助于编译。让我知道它是否能解决您的问题。

【讨论】:

感谢您的回复。这有帮助,但现在我遇到了其他问题。请查看更新。 我已经更新了我的答案,也许这可以解决你在使用 qmake 时遇到的问题。让我知道。【参考方案2】:

这个呢: -skip qtwebkit

排除 Qt 子模块

Configure 的 -skip 选项允许将某些 Qt 子模块从 Qt 构建中排除。这些子模块对应于标准 Qt 5 存储库中的 Git 子模块。请注意,许多软件包包含多个 Qt 模块。例如,要从 Qt 构建中排除 Qt NFC 和 Qt 蓝牙,请提供 -skip qtconnectivity 作为要配置的参数。

【讨论】:

谢谢,我也找到了。但这并不能解决我的问题

以上是关于无法从源代码构建 qt(对于 OpenCV)的主要内容,如果未能解决你的问题,请参考以下文章

使用 OpenCV 库(ubuntu)编译错误 Qt Creator

由于 opencv 依赖项,无法构建带有 openCV 的项目

OpenCV2.4.10 与 Qt

OpenCV 无法使用 Qt 打开相机

如何以及在何处使用带有 QT 的 basler 相机实现 opencv 人脸检测代码

Qt OpenCV从捕获帧写入视频,不保存