Qt 3d
Qt 3d
basicshapes-cpp.pro
android|ios|tvos|winrt { warning( "This example is not supported for android, ios, tvos, or winrt." ) } !include( ../examples.pri ) { error( "Couldn't find the examples.pri file!" ) } QT += 3dcore 3drender 3dinput 3dextras QT += widgets SOURCES += main.cpp \ scenemodifier.cpp HEADERS += \ scenemodifier.h
scenemodifier.h
/**************************************************************************** ** ** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB). ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt3D module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** BSD License Usage ** Alternatively, you may use this file under the terms of the BSD license ** as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of The Qt Company Ltd nor the names of its ** contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #ifndef SCENEMODIFIER_H #define SCENEMODIFIER_H #include <QtCore/QObject> #include <Qt3DCore/qentity.h> #include <Qt3DCore/qtransform.h> #include <Qt3DExtras/QTorusMesh> #include <Qt3DExtras/QConeMesh> #include <Qt3DExtras/QCylinderMesh> #include <Qt3DExtras/QCuboidMesh> #include <Qt3DExtras/QPlaneMesh> #include <Qt3DExtras/QSphereMesh> #include <Qt3DExtras/QPhongMaterial> class SceneModifier : public QObject { Q_OBJECT public: explicit SceneModifier(Qt3DCore::QEntity *rootEntity); ~SceneModifier(); public slots: void enableTorus(bool enabled); void enableCone(bool enabled); void enableCylinder(bool enabled); void enableCuboid(bool enabled); void enablePlane(bool enabled); void enableSphere(bool enabled); private: Qt3DCore::QEntity *m_rootEntity; Qt3DExtras::QTorusMesh *m_torus; Qt3DCore::QEntity *m_coneEntity; Qt3DCore::QEntity *m_cylinderEntity; Qt3DCore::QEntity *m_torusEntity; Qt3DCore::QEntity *m_cuboidEntity; Qt3DCore::QEntity *m_planeEntity; Qt3DCore::QEntity *m_sphereEntity; }; #endif // SCENEMODIFIER_H
scenemodifier.cpp
/**************************************************************************** ** ** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB). ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt3D module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** BSD License Usage ** Alternatively, you may use this file under the terms of the BSD license ** as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of The Qt Company Ltd nor the names of its ** contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #include "scenemodifier.h" #include <QtCore/QDebug> SceneModifier::SceneModifier(Qt3DCore::QEntity *rootEntity) : m_rootEntity(rootEntity) { // Torus shape data //! [0] m_torus = new Qt3DExtras::QTorusMesh(); m_torus->setRadius(1.0f); m_torus->setMinorRadius(0.4f); m_torus->setRings(100); m_torus->setSlices(20); //! [0] // TorusMesh Transform //! [1] Qt3DCore::QTransform *torusTransform = new Qt3DCore::QTransform(); torusTransform->setScale(2.0f); torusTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(0.0f, 1.0f, 0.0f), 25.0f)); torusTransform->setTranslation(QVector3D(5.0f, 4.0f, 0.0f)); //! [1] //! [2] Qt3DExtras::QPhongMaterial *torusMaterial = new Qt3DExtras::QPhongMaterial(); torusMaterial->setDiffuse(QColor(QRgb(0xbeb32b))); //! [2] // Torus //! [3] m_torusEntity = new Qt3DCore::QEntity(m_rootEntity); m_torusEntity->addComponent(m_torus); m_torusEntity->addComponent(torusMaterial); m_torusEntity->addComponent(torusTransform); //! [3] // Cone shape data Qt3DExtras::QConeMesh *cone = new Qt3DExtras::QConeMesh(); cone->setTopRadius(0.5); cone->setBottomRadius(1); cone->setLength(3); cone->setRings(50); cone->setSlices(20); // ConeMesh Transform Qt3DCore::QTransform *coneTransform = new Qt3DCore::QTransform(); coneTransform->setScale(1.5f); coneTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(1.0f, 0.0f, 0.0f), 45.0f)); coneTransform->setTranslation(QVector3D(0.0f, 4.0f, -1.5)); Qt3DExtras::QPhongMaterial *coneMaterial = new Qt3DExtras::QPhongMaterial(); coneMaterial->setDiffuse(QColor(QRgb(0x928327))); // Cone m_coneEntity = new Qt3DCore::QEntity(m_rootEntity); m_coneEntity->addComponent(cone); m_coneEntity->addComponent(coneMaterial); m_coneEntity->addComponent(coneTransform); // Cylinder shape data Qt3DExtras::QCylinderMesh *cylinder = new Qt3DExtras::QCylinderMesh(); cylinder->setRadius(1); cylinder->setLength(3); cylinder->setRings(100); cylinder->setSlices(20); // CylinderMesh Transform Qt3DCore::QTransform *cylinderTransform = new Qt3DCore::QTransform(); cylinderTransform->setScale(1.5f); cylinderTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(1.0f, 0.0f, 0.0f), 45.0f)); cylinderTransform->setTranslation(QVector3D(-5.0f, 4.0f, -1.5)); Qt3DExtras::QPhongMaterial *cylinderMaterial = new Qt3DExtras::QPhongMaterial(); cylinderMaterial->setDiffuse(QColor(QRgb(0x928327))); // Cylinder m_cylinderEntity = new Qt3DCore::QEntity(m_rootEntity); m_cylinderEntity->addComponent(cylinder); m_cylinderEntity->addComponent(cylinderMaterial); m_cylinderEntity->addComponent(cylinderTransform); // Cuboid shape data Qt3DExtras::QCuboidMesh *cuboid = new Qt3DExtras::QCuboidMesh(); // CuboidMesh Transform Qt3DCore::QTransform *cuboidTransform = new Qt3DCore::QTransform(); cuboidTransform->setScale(4.0f); cuboidTransform->setTranslation(QVector3D(5.0f, -4.0f, 0.0f)); Qt3DExtras::QPhongMaterial *cuboidMaterial = new Qt3DExtras::QPhongMaterial(); cuboidMaterial->setDiffuse(QColor(QRgb(0x665423))); //Cuboid m_cuboidEntity = new Qt3DCore::QEntity(m_rootEntity); m_cuboidEntity->addComponent(cuboid); m_cuboidEntity->addComponent(cuboidMaterial); m_cuboidEntity->addComponent(cuboidTransform); // Plane shape data Qt3DExtras::QPlaneMesh *planeMesh = new Qt3DExtras::QPlaneMesh(); planeMesh->setWidth(2); planeMesh->setHeight(2); // Plane mesh transform Qt3DCore::QTransform *planeTransform = new Qt3DCore::QTransform(); planeTransform->setScale(1.3f); planeTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(1.0f, 0.0f, 0.0f), 45.0f)); planeTransform->setTranslation(QVector3D(0.0f, -4.0f, 0.0f)); Qt3DExtras::QPhongMaterial *planeMaterial = new Qt3DExtras::QPhongMaterial(); planeMaterial->setDiffuse(QColor(QRgb(0xa69929))); // Plane m_planeEntity = new Qt3DCore::QEntity(m_rootEntity); m_planeEntity->addComponent(planeMesh); m_planeEntity->addComponent(planeMaterial); m_planeEntity->addComponent(planeTransform); // Sphere shape data Qt3DExtras::QSphereMesh *sphereMesh = new Qt3DExtras::QSphereMesh(); sphereMesh->setRings(20); sphereMesh->setSlices(20); sphereMesh->setRadius(2); // Sphere mesh transform Qt3DCore::QTransform *sphereTransform = new Qt3DCore::QTransform(); sphereTransform->setScale(1.3f); sphereTransform->setTranslation(QVector3D(-5.0f, -4.0f, 0.0f)); Qt3DExtras::QPhongMaterial *sphereMaterial = new Qt3DExtras::QPhongMaterial(); sphereMaterial->setDiffuse(QColor(QRgb(0xa69929))); // Sphere m_sphereEntity = new Qt3DCore::QEntity(m_rootEntity); m_sphereEntity->addComponent(sphereMesh); m_sphereEntity->addComponent(sphereMaterial); m_sphereEntity->addComponent(sphereTransform); } SceneModifier::~SceneModifier() { } //! [4] void SceneModifier::enableTorus(bool enabled) { m_torusEntity->setEnabled(enabled); } //! [4] void SceneModifier::enableCone(bool enabled) { m_coneEntity->setEnabled(enabled); } void SceneModifier::enableCylinder(bool enabled) { m_cylinderEntity->setEnabled(enabled); } void SceneModifier::enableCuboid(bool enabled) { m_cuboidEntity->setEnabled(enabled); } void SceneModifier::enablePlane(bool enabled) { m_planeEntity->setEnabled(enabled); } void SceneModifier::enableSphere(bool enabled) { m_sphereEntity->setEnabled(enabled); }
main.cpp
/**************************************************************************** ** ** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB). ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt3D module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** BSD License Usage ** Alternatively, you may use this file under the terms of the BSD license ** as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of The Qt Company Ltd nor the names of its ** contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #include "scenemodifier.h" #include <QGuiApplication> #include <Qt3DRender/qcamera.h> #include <Qt3DCore/qentity.h> #include <Qt3DRender/qcameralens.h> #include <QtWidgets/QApplication> #include <QtWidgets/QWidget> #include <QtWidgets/QHBoxLayout> #include <QtWidgets/QCheckBox> #include <QtWidgets/QCommandLinkButton> #include <QtGui/QScreen> #include <Qt3DInput/QInputAspect> #include <Qt3DExtras/qtorusmesh.h> #include <Qt3DRender/qmesh.h> #include <Qt3DRender/qtechnique.h> #include <Qt3DRender/qmaterial.h> #include <Qt3DRender/qeffect.h> #include <Qt3DRender/qtexture.h> #include <Qt3DRender/qrenderpass.h> #include <Qt3DRender/qsceneloader.h> #include <Qt3DRender/qpointlight.h> #include <Qt3DCore/qtransform.h> #include <Qt3DCore/qaspectengine.h> #include <Qt3DRender/qrenderaspect.h> #include <Qt3DExtras/qforwardrenderer.h> #include <Qt3DExtras/qt3dwindow.h> #include <Qt3DExtras/qfirstpersoncameracontroller.h> int main(int argc, char **argv) { QApplication app(argc, argv); Qt3DExtras::Qt3DWindow *view = new Qt3DExtras::Qt3DWindow(); view->defaultFrameGraph()->setClearColor(QColor(QRgb(0x4d4d4f))); QWidget *container = QWidget::createWindowContainer(view); QSize screenSize = view->screen()->size(); container->setMinimumSize(QSize(200, 100)); container->setMaximumSize(screenSize); QWidget *widget = new QWidget; QHBoxLayout *hLayout = new QHBoxLayout(widget); QVBoxLayout *vLayout = new QVBoxLayout(); vLayout->setAlignment(Qt::AlignTop); hLayout->addWidget(container, 1); hLayout->addLayout(vLayout); widget->setWindowTitle(QStringLiteral("Basic shapes")); Qt3DInput::QInputAspect *input = new Qt3DInput::QInputAspect; view->registerAspect(input); // Root entity Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity(); // Camera Qt3DRender::QCamera *cameraEntity = view->camera(); cameraEntity->lens()->setPerspectiveProjection(45.0f, 16.0f/9.0f, 0.1f, 1000.0f); cameraEntity->setPosition(QVector3D(0, 0, 20.0f)); cameraEntity->setUpVector(QVector3D(0, 1, 0)); cameraEntity->setViewCenter(QVector3D(0, 0, 0)); Qt3DCore::QEntity *lightEntity = new Qt3DCore::QEntity(rootEntity); Qt3DRender::QPointLight *light = new Qt3DRender::QPointLight(lightEntity); light->setColor("white"); light->setIntensity(1); lightEntity->addComponent(light); Qt3DCore::QTransform *lightTransform = new Qt3DCore::QTransform(lightEntity); lightTransform->setTranslation(cameraEntity->position()); lightEntity->addComponent(lightTransform); // For camera controls Qt3DExtras::QFirstPersonCameraController *camController = new Qt3DExtras::QFirstPersonCameraController(rootEntity); camController->setCamera(cameraEntity); // Scenemodifier SceneModifier *modifier = new SceneModifier(rootEntity); // Set root object of the scene view->setRootEntity(rootEntity); // Create control widgets QCommandLinkButton *info = new QCommandLinkButton(); info->setText(QStringLiteral("Qt3D ready-made meshes")); info->setDescription(QString::fromLatin1("Qt3D provides several ready-made meshes, like torus, cylinder, cone, " "cube, plane and sphere.")); info->setIconSize(QSize(0,0)); QCheckBox *torusCB = new QCheckBox(widget); torusCB->setChecked(true); torusCB->setText(QStringLiteral("Torus")); QCheckBox *coneCB = new QCheckBox(widget); coneCB->setChecked(true); coneCB->setText(QStringLiteral("Cone")); QCheckBox *cylinderCB = new QCheckBox(widget); cylinderCB->setChecked(true); cylinderCB->setText(QStringLiteral("Cylinder")); QCheckBox *cuboidCB = new QCheckBox(widget); cuboidCB->setChecked(true); cuboidCB->setText(QStringLiteral("Cuboid")); QCheckBox *planeCB = new QCheckBox(widget); planeCB->setChecked(true); planeCB->setText(QStringLiteral("Plane")); QCheckBox *sphereCB = new QCheckBox(widget); sphereCB->setChecked(true); sphereCB->setText(QStringLiteral("Sphere")); vLayout->addWidget(info); vLayout->addWidget(torusCB); vLayout->addWidget(coneCB); vLayout->addWidget(cylinderCB); vLayout->addWidget(cuboidCB); vLayout->addWidget(planeCB); vLayout->addWidget(sphereCB); QObject::connect(torusCB, &QCheckBox::stateChanged, modifier, &SceneModifier::enableTorus); QObject::connect(coneCB, &QCheckBox::stateChanged, modifier, &SceneModifier::enableCone); QObject::connect(cylinderCB, &QCheckBox::stateChanged, modifier, &SceneModifier::enableCylinder); QObject::connect(cuboidCB, &QCheckBox::stateChanged, modifier, &SceneModifier::enableCuboid); QObject::connect(planeCB, &QCheckBox::stateChanged, modifier, &SceneModifier::enablePlane); QObject::connect(sphereCB, &QCheckBox::stateChanged, modifier, &SceneModifier::enableSphere); torusCB->setChecked(true); coneCB->setChecked(true); cylinderCB->setChecked(true); cuboidCB->setChecked(true); planeCB->setChecked(true); sphereCB->setChecked(true); // Show window widget->show(); widget->resize(1200, 800); return app.exec(); }
16:16:29: 为项目basicshapes-cpp执行步骤 ...
16:16:29: 正在启动 "E:\Qt\Qt5.9.6\5.9.6\msvc2015_64\bin\qmake.exe" E:\Qt\Qt5.9.6\Examples\Qt-5.9.6\qt3d\basicshapes-cpp\basicshapes-cpp.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug"
Info: creating stash file E:\Qt\Qt5.9.6\Examples\Qt-5.9.6\qt3d\build-basicshapes-cpp-Desktop_Qt_5_9_6_MSVC2015_64bit-Debug\.qmake.stash
16:16:30: 进程"E:\Qt\Qt5.9.6\5.9.6\msvc2015_64\bin\qmake.exe"正常退出。
16:16:30: 正在启动 "E:\Qt\Qt5.9.6\Tools\QtCreator\bin\jom.exe" qmake_all
jom 1.1.2 - empower your cores
16:16:30: 进程"E:\Qt\Qt5.9.6\Tools\QtCreator\bin\jom.exe"正常退出。
16:16:30: 正在启动 "E:\Qt\Qt5.9.6\Tools\QtCreator\bin\jom.exe"
E:\Qt\Qt5.9.6\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc /Fddebug\basicshapes-cpp.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_QML_DEBUG -DQT_3DEXTRAS_LIB -DQT_3DRENDER_LIB -DQT_3DINPUT_LIB -DQT_3DLOGIC_LIB -DQT_3DCORE_LIB -DQT_GAMEPAD_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I..\basicshapes-cpp -I. -I..\..\..\..\5.9.6\msvc2015_64\include -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DExtras -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DRender -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DInput -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DLogic -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DCore -I..\..\..\..\5.9.6\msvc2015_64\include\QtGamepad -I..\..\..\..\5.9.6\msvc2015_64\include\QtWidgets -I..\..\..\..\5.9.6\msvc2015_64\include\QtGui -I..\..\..\..\5.9.6\msvc2015_64\include\QtANGLE -I..\..\..\..\5.9.6\msvc2015_64\include\QtNetwork -I..\..\..\..\5.9.6\msvc2015_64\include\QtCore -Idebug -I..\..\..\..\5.9.6\msvc2015_64\mkspecs\win32-msvc -Fodebug\ @C:\Users\BIM\AppData\Local\Temp\main.obj.12432.16.jom
main.cpp
cl -BxE:\Qt\Qt5.9.6\5.9.6\msvc2015_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E ..\..\..\..\5.9.6\msvc2015_64\mkspecs\features\data\dummy.cpp 2>NUL >debug\moc_predefs.h
E:\Qt\Qt5.9.6\5.9.6\msvc2015_64\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_QML_DEBUG -DQT_3DEXTRAS_LIB -DQT_3DRENDER_LIB -DQT_3DINPUT_LIB -DQT_3DLOGIC_LIB -DQT_3DCORE_LIB -DQT_GAMEPAD_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB --compiler-flavor=msvc --include debug/moc_predefs.h -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/mkspecs/win32-msvc -IE:/Qt/Qt5.9.6/Examples/Qt-5.9.6/qt3d/basicshapes-cpp -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/Qt3DExtras -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/Qt3DRender -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/Qt3DInput -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/Qt3DLogic -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/Qt3DCore -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/QtGamepad -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/QtWidgets -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/QtGui -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/QtANGLE -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/QtNetwork -IE:/Qt/Qt5.9.6/5.9.6/msvc2015_64/include/QtCore -I. -IE:\VisualStudio_2015\install\VC\INCLUDE -IE:\VisualStudio_2015\install\VC\ATLMFC\INCLUDE -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\shared" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\winrt" ..\basicshapes-cpp\scenemodifier.h -o debug\moc_scenemodifier.cpp
cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc /Fddebug\basicshapes-cpp.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_QML_DEBUG -DQT_3DEXTRAS_LIB -DQT_3DRENDER_LIB -DQT_3DINPUT_LIB -DQT_3DLOGIC_LIB -DQT_3DCORE_LIB -DQT_GAMEPAD_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I..\basicshapes-cpp -I. -I..\..\..\..\5.9.6\msvc2015_64\include -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DExtras -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DRender -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DInput -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DLogic -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DCore -I..\..\..\..\5.9.6\msvc2015_64\include\QtGamepad -I..\..\..\..\5.9.6\msvc2015_64\include\QtWidgets -I..\..\..\..\5.9.6\msvc2015_64\include\QtGui -I..\..\..\..\5.9.6\msvc2015_64\include\QtANGLE -I..\..\..\..\5.9.6\msvc2015_64\include\QtNetwork -I..\..\..\..\5.9.6\msvc2015_64\include\QtCore -Idebug -I..\..\..\..\5.9.6\msvc2015_64\mkspecs\win32-msvc -Fodebug\ @C:\Users\BIM\AppData\Local\Temp\scenemodifier.obj.12432.47.jom
scenemodifier.cpp
cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc /Fddebug\basicshapes-cpp.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_QML_DEBUG -DQT_3DEXTRAS_LIB -DQT_3DRENDER_LIB -DQT_3DINPUT_LIB -DQT_3DLOGIC_LIB -DQT_3DCORE_LIB -DQT_GAMEPAD_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I..\basicshapes-cpp -I. -I..\..\..\..\5.9.6\msvc2015_64\include -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DExtras -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DRender -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DInput -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DLogic -I..\..\..\..\5.9.6\msvc2015_64\include\Qt3DCore -I..\..\..\..\5.9.6\msvc2015_64\include\QtGamepad -I..\..\..\..\5.9.6\msvc2015_64\include\QtWidgets -I..\..\..\..\5.9.6\msvc2015_64\include\QtGui -I..\..\..\..\5.9.6\msvc2015_64\include\QtANGLE -I..\..\..\..\5.9.6\msvc2015_64\include\QtNetwork -I..\..\..\..\5.9.6\msvc2015_64\include\QtCore -Idebug -I..\..\..\..\5.9.6\msvc2015_64\mkspecs\win32-msvc -Fodebug\ @C:\Users\BIM\AppData\Local\Temp\moc_scenemodifier.obj.12432.797.jom
moc_scenemodifier.cpp
link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:debug\basicshapes-cpp.exe @C:\Users\BIM\AppData\Local\Temp\basicshapes-cpp.exe.12432.2188.jom
16:16:33: 进程"E:\Qt\Qt5.9.6\Tools\QtCreator\bin\jom.exe"正常退出。
16:16:33: Elapsed time: 00:04.
############################
QQ 3087438119