犯错误:C ++脚本中缺少包含?

时间:2010-04-09 21:08:23

标签: c++ linux makefile qmake

我只是在几分钟之前就如何编译这个脚本得到了帮助但是我设法得到了错误。我只是C ++的初学者,不知道下面的错误是什么意思或如何解决它。

这是script in question。我已经阅读了一些用户的评论,建议他们更改了#include部分,但这似乎与脚本完全相同,see this comment

[root@localhost wkthumb]# qmake-qt4 && make
g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I. -I. -o main.o main.cpp
main.cpp:5:20: error: QWebView: No such file or directory
main.cpp:6:21: error: QWebFrame: No such file or directory
main.cpp:8: error: expected constructor, destructor, or type conversion before ‘*’ token
main.cpp:11: error: ‘QWebView’ has not been declared
main.cpp: In function ‘void loadFinished(bool)’:
main.cpp:18: error: ‘view’ was not declared in this scope
main.cpp:18: error: ‘QWebSettings’ has not been declared
main.cpp:19: error: ‘QWebSettings’ has not been declared
main.cpp:20: error: ‘QWebSettings’ has not been declared
main.cpp: In function ‘int main(int, char**)’:
main.cpp:42: error: ‘view’ was not declared in this scope
main.cpp:42: error: expected type-specifier before ‘QWebView’
main.cpp:42: error: expected `;' before ‘QWebView’
make: *** [main.o] Error 1

我的Fedora Core 10机器上有网络工具包: QT-4.5.3-9.fc10.i386 QT-devel的-4.5.3-9.fc10.i386

感谢大家的帮助

2 个答案:

答案 0 :(得分:1)

错误消息表明编译器找不到您要包含的内容,即<QWebView>。告诉编译器在哪里查看的方法是使用-I标志,以指定包含目录(这些不是递归的)。

目前,您设置以下包括dirs:

  • -I / usr / lib中/ QT4 / mkspecs / Linux的克++
  • -I。
  • -I / USR /包含/ QtCore
  • -I / USR /包含/ QtGui
  • -I / USR /包括

您需要找到系统中QWebView的位置,并添加命令行的包含路径(或将QWebView安装到上述目录之一)。

一般说明:当你遇到很多这样的错误时,请关注前一两个错误。稍后的错误(例如‘QWebView’ has not been declared)可能会通过修复missing-include错误来解决。

答案 1 :(得分:0)

main.cpp:18: error: ‘view’ was not declared in this scope

看起来必须在代码中提供名称空间。读取命名空间。

main.cpp:20: error: ‘QWebSettings’ has not been declared

没有可用的类型定义,可以包含。