【问题标题】:Where is Qt 5 Qt3D QCircularBuffer?Qt 5 Qt3D QCircularBuffer 在哪里?
【发布时间】:2021-01-25 06:41:07
【问题描述】:

我想按照https://doc.qt.io/archives/qt-5.5/qt3d-qcircularbuffer.html 尝试QCircularBuffer,所以我在macOS 上的QtCreator 上创建了一个简单的Qt (5.15.1) 项目。如下所示:

#include <QApplication>
#include <QWidget>

#include <Qt3D>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);
    QWidget w;
    w.show();
    return a.exec();
}

在项目文件中我有

QT += core gui widgets 3dcore

但我无法构建这个,我得到了:

18:48:09: Running steps for project project...
18:48:09: Configuration unchanged, skipping qmake step.
18:48:09: Starting: "/usr/bin/make" -j8
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++1z  -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.13 -Wall -Wextra -fPIC -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_3DCORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../../Qt5.15.1/5.15.1/clang_64/lib/QtWidgets.framework/Headers -I../../Qt5.15.1/5.15.1/clang_64/lib/Qt3DCore.framework/Headers -I../../Qt5.15.1/5.15.1/clang_64/lib/QtGui.framework/Headers -I../../Qt5.15.1/5.15.1/clang_64/lib/QtNetwork.framework/Headers -I../../Qt5.15.1/5.15.1/clang_64/lib/QtCore.framework/Headers -Idebug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../Qt5.15.1/5.15.1/clang_64/mkspecs/macx-clang -F/Users/user/Qt5.15.1/5.15.1/clang_64/lib -o debug/main.o main.cpp
main.cpp:6:10: fatal error: 'Qt3D' file not found
#include <Qt3D>
         ^~~~~~
1 error generated.
make: *** [debug/main.o] Error 1
18:48:10: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project project (kit: Desktop Qt 5.15.1 clang 64bit)
The kit Desktop Qt 5.15.1 clang 64bit has configuration issues which might be the root cause for this problem.
When executing step "Make"

看来我做错了什么,对吧?

【问题讨论】:

  • 你安装了 3d 模块吗?
  • 我是这么认为的,因为如果我评论 #include &lt;Qt3D&gt;,项目使用 QT += core gui widgets 3dcore 构建得很好。
  • 我猜这不是证据。我也可以用 QT += 3dcore 编译一个项目,虽然我没有用 Qt 安装这个模块。
  • 对我来说,这个类似乎已从 Qt3D 中删除。你看过QContiguousCache吗?它看起来好像具有相同的功能。顺便说一句,我从未见过有人像你这样导入 Qt3D。我总是只直接导入我需要的类。
  • 我应该导入什么才能使用QCircularBuffer?假设我正在使用具有 QCircularBuffer 的 Qt 版本。

标签: c++ macos qt qt5 c++17


【解决方案1】:

请添加 QT += 3dcore 到您项目的 .pro 文件中。

如果错误仍然存​​在,您的模块“Qt3D.Core”没有安装。 请安装它并重新编译您的项目。

【讨论】:

  • QT += 3dcore 已经存在,如问题中所述。没有与包含 3dcore 相关的错误。据我了解,它抱怨Qt3D,恐怕它在Qt 5.15.1中不再存在了
猜你喜欢
  • 1970-01-01
  • 2016-05-31
  • 1970-01-01
  • 2014-05-04
  • 2014-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-14
相关资源
最近更新 更多