5

我尝试在 Windows 7、64 位的 Visual Studio 2010 的命令提示符下编译 QT 5.0.0。该过程本身是已知的,并在此处此处进行了描述。在我的机器上,编译停止是因为编译器找不到文件:

 fatal error C1083: [..] "GLES2/gl2.h": No such file or directory

C:\QTSources我在我尝试构建源的文件夹的子目录中发现了丢失的文件。

我将这一行添加INCLUDEPATH += "C:/QTSources/qtwebkit/Source/ThirdParty/ANGLE/include"到文件qtsdk.pro中,当我说 qmake 时,该文件似乎被 qmake 用于生成 Makefile configure [options]建议在这里这样做,但它没有帮助。该路径既不会出现在 Makefile 中,也不会出现在对编译器的任何调用中。

如何正确声明我的包含?

4

4 回答 4

16

当从 VS2008 迁移到 VS2010 (Win7) 时,我收到了关于“GLES2/gl2.h.

解决方案是添加

\include\QtANGLE

到项目属性中的“AdditionIncludeDirectory”参数。

据我所知,QtANGLE 是 opengl 图形库的替代品。

看来,您不必在 Windows 上从头开始构建 Qt,但您可以使用预编译版本。至少不是因为现在的话题。

于 2013-09-04T09:42:47.660 回答
5

我遇到了同样的问题,我终于找到了解决方案(唯一的区别是我使用的是 VS 2008,但我使用的是 Windows 7,我需要像你一样的 64 位目标)。

主要问题是你从 Qt 站点下载的压缩文件不正确。您必须使用 Git 存储库中的内容(当前版本为 5.0.1,但与您从下载页面获得的 5.0.1 版本不同)

这就是我所做的,一步一步,确切地说:

先决条件:已安装 git、perl、python 和 ruby​​,您必须检查您的路径以查看是否可以从任何地方访问可执行文件。在此处搜索下载链接:http: //qt-project.org/wiki/Building-Qt-5-from-Git在“Windows 构建环境”部分下。对于 Git,从这里下载它http://git-scm.com

然后执行以下操作:

转到要安装 Qt 的目录。

git clone git://gitorious.org/qt/qt5.git qt5

cd qt5

perl init-repository --no-webkit

configure -developer-build -opensource -nomake examples -nomake tests

打开 Visual Studio x64 Win64 命令提示符,查找它或 VS 2008,您可以执行: %comspec% /k ""c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" amd64

在那个窗口内:

SET CL=/MP

configure -developer-build -opensource -nomake examples -nomake tests -opengl desktop

然后按“y”接受许可条款

nmake

...就这样。

注意原来的问题: 你问“我怎样才能正确地声明我的包含?” 在你解释了你最终解决它的方式之后:“......我将文件所在的整个文件夹复制到编译器已知的路径中......”

与其这样做,您可能更愿意将文件夹保留在其原始位置,并在调用 nmake 之前执行以下操作:

SET CL=/Ic:\MyFolder

请注意,我之前使用过 SET CL=/MP,这是为了通过使用处理器的多个内核来更快地构建。因此,对于这种情况,您应该这样做:

SET CL=/MP /Ic:\MyFolder
于 2013-02-06T04:36:04.340 回答
3

我在尝试使用 vs2012 构建 qt5.0 和 qt5.1 时遇到了同样的问题。通过将参数“-opengl desktop”(不带引号)添加到配置命令并重建(make/nmake/jom/mingw32-make)简单地解决了这个问题。我认为所有其他提到的东西都没有必要解决你原来陈述的问题。

于 2013-07-04T21:11:04.873 回答
1

您是否尝试过查看此链接?

http://qt-project.org/wiki/Building-Qt-5-from-Git

Windows Windows 图形驱动程序

QML2 需要 OpenGL 2.1 或更高版本或 Open GL ES 2.0 才能工作。

在 Windows 中,有两个选项可用:

Use the ANGLE-library [code.google.com] to translate OpenGL calls into DirectX (default)
Use the native OpenGL driver for your graphics card

ANGLE 的副本捆绑在 Qt 5 中。要使用选项 1,您需要安装 DirectX SDK [msdn.microsoft.com](注意:从 Windows Kit 8 开始,它包含在 Windows SDK 中)。

要使用选项 2,您需要确保您的显卡驱动程序支持 OpenGL 2.1 或更高版本(注意:库存的 Windows 驱动程序仅支持 OpenGL 1.1,这是不够的),并将 `-opengl desktop' 传递给 configure.exe。

于 2012-12-20T19:45:20.783 回答