0

我正在 OSX 上创建一个Webots项目,其中包括以下内容:

 #include <core/MainApplication.hpp>

我收到错误

在 /Applications/Webots/resources/projects/default/libraries/qt_utils/core/MainApplication.hpp:17 中包含的文件中:/Applications/Webots/webots.app/Contents/Frameworks/QtWidgets.framework/Headers/QApplication:1: 10: 致命错误:找不到“qapplication.h”文件

包括“qapplication.h”

产生 1 个错误。

/Applications/Webots/webots.app/Contents/Frameworks/QtWidgets.framework/Headers/QApplication的所有内容:

#include "qapplication.h"
  1. QApplication文件内容太短。此外,我似乎在文件系统上找不到qapplication.h,这正常吗?
  2. 使用本地安装的 Qt 框架会比使用 Webbots 附带的更明智吗?如何更改 .pro 文件,然后链接到 Qt 的本地安装,而不是链接到/Applications/Webots/resources/projects/default/libraries/qt_utils

我的制作文件:

CXX_SOURCES = entry_points.cpp

QT = core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
USE_C_API = true

QT_UTILS = /Applications/Webots/resources/projects/default/libraries/qt_utils
INCLUDE = -I"$(QT_UTILS)"
LIBRARIES = -L"$(QT_UTILS)" -lqt_utils

space :=
space +=
WEBOTS_HOME_PATH=$(subst $(space),\ ,$(strip $(subst \,/,$(WEBOTS_HOME))))
include /Applications/Webots/resources/Makefile.include

编辑: 我发现当我尝试在文件夹中运行make时: /Applications/Webots/resources/projects/default/libraries/qt_utils 我收到很多错误(其中包括许多其他错误),例如:

/Applications/Webots/webots.app/Contents/Frameworks/QtWidgets.framework/Headers/QWidget:1:10: 致命错误:找不到“qwidget.h”文件

包括“qwidget.h”

... /Applications/Webots/webots.app/Contents/Frameworks/QtCore.framework/Headers/QObject:1:10: 致命错误:找不到“qobject.h”文件

包括“qobject.h”

... /Applications/Webots/webots.app/Contents/Frameworks/QtWidgets.framework/Headers/QApplication:1:10: 致命错误:找不到“qapplication.h”文件

包括“qapplication.h”

事实上,这些文件确实从 Webots qt_utils 中丢失

4

1 回答 1

1

这可能是因为这一行:

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

确实,QT_MAJOR_VERSION并且greaterThan不是 Webots Makefile 系统的一部分。如果 Qtwidgets模块不存在,则qapplication.h无法找到(因为它已在widgets模块中精确定义)。由于 Webots 使用 Qt 5 已经有一段时间了,我建议您像这样简单地定义 Qt 模块:

QT = core gui widgets
于 2016-05-02T08:45:29.330 回答