【发布时间】: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 <Qt3D>,项目使用QT += core gui widgets 3dcore构建得很好。 -
我猜这不是证据。我也可以用 QT += 3dcore 编译一个项目,虽然我没有用 Qt 安装这个模块。
-
对我来说,这个类似乎已从 Qt3D 中删除。你看过
QContiguousCache吗?它看起来好像具有相同的功能。顺便说一句,我从未见过有人像你这样导入 Qt3D。我总是只直接导入我需要的类。 -
我应该导入什么才能使用
QCircularBuffer?假设我正在使用具有QCircularBuffer的 Qt 版本。