【问题标题】:Webots Qt framework librariesWebots Qt 框架库
【发布时间】:2016-05-01 15:31:46
【问题描述】:

我正在 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

编辑: 我发现当我尝试在文件夹中运行 ma​​ke 时:/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 中确实缺少这些文件

【问题讨论】:

    标签: qt shared-libraries webots


    【解决方案1】:

    这可能是因为这行:

    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    

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

    QT = core gui widgets
    

    【讨论】:

    • 'qapplication.h' 即使我使用'QT = core gui widgets'也找不到
    • 您能否运行以下命令来确定 qapplication.h 是否在您的系统中? $ find /Applications/Webots/ -name qapplication.h
    • $ find /Applications/Webots/ -name qapplication.h /Applications/Webots//resources/projects/robots/nao/aldebaran/simulator-sdk/include/Qt/qapplication.h /Applications/ Webots//resources/projects/robots/nao/aldebaran/simulator-sdk/include/QtGui/qapplication.h
    • 您使用的是哪个 Webots 版本?我在这里有这个文件:/Applications/Webots/webots.app/Contents/Frameworks/QtWidgets.framework/Headers/qapplication.h
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    相关资源
    最近更新 更多