2011-04-15 57 views
2

我试图建立自己的Qt 4.7.2与英特尔Parallel Studio编译器,我发现不像它失败的错误消息VCC:构建Qt 4英特尔编译=未解决的bug

灾难性错误:无法打开预编译头文件“qmake_pch.pchi”

谷歌搜索的消息中返回一个单链接:https://bugreports.qt.io/browse/QTBUG-15390

它说这个问题是目前尚未解决,但提到了一个解决办法:

To workaround it then the CFLAGS in the Makefile need to be set to create it's own pch file like:

CFLAGS = -Yc -FIqmake_pch.h -Fpqmake_pch.pch $(CFLAGS_BARE) $(CFLAGS) 

但是,将这些行添加到win32-icc qmake配置中并没有为我执行任何操作。

任何想法?

回答

0

预编译头文件是一个构建优化。如果它们造成问题,只需构建Qt就可以不用它们。无论如何,这是一次性构建,如果你没有在Qt本身上工作。

+0

诺基亚提供的版本只有MigW和msvc,它们不会在使用intel编译器的visual studio中集成,他们还提供我无法用intel编译器构建的源库,以便能够使用Qt。如何在没有预编译头的情况下构建?这不会导致以后的问题吗? – Dian 2011-04-15 15:21:23

+0

通过删除相关标志来构建没有预编译头文件。这不会导致问题,如果你删除所有这些,当然除了缓慢的构建。 – MSalters 2011-04-18 07:44:07

0

调用configure运行qmake和qmake在灾难性错误之前在源代码树的“qmake”文件夹下生成Makefile。您需要编辑该文件而不是编辑qmake配置文件。在“QMAKE/Makefile文件”搜索

CFLAGS = -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch $(CFLAGS_BARE) $(CFLAGS) 

行并将其更改为

CFLAGS = -Yc -FIqmake_pch.h -Fpqmake_pch.pch $(CFLAGS_BARE) $(CFLAGS) 

现在做编辑Makefile文件只读使​​用的探险家!然后再拨打

configure -platform win32-icc 

再次!配置脚本将尝试覆盖Makefile,但不会成功。现在Makefile就是我们想要的,配置过程就会完成。