Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-112695

Support unity builds in QtQuick3D / exclude assimp from unity builds

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Done
    • P3: Somewhat important
    • 6.5.1, 6.6
    • 6.5.0
    • Quick: 3D
    • None
    • All

    Description

      quick3d does not build with unity build enabled (batch=32), as it tries to build with unity build in the assimp third party too, which does not seem to be supported:

       

      2023-04-07T07:57:27.5213444Z FAILED: qtquick3d/src/plugins/assetimporters/assimp/CMakeFiles/AssimpImporterPlugin.dir/Unity/unity_1_cxx.cxx.o 
      2023-04-07T07:57:27.5335727Z $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DASSIMP_BUILD_BOOST_WORKAROUND -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COMPRESSED_IFC -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LIMITBONEWEIGHTS_PROCESS -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_OWN_ZLIB -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STEP_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DAssimpImporterPlugin_EXPORTS -DNOUNCRYPT -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_UP_TO=0x050000 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_AS_CONST=1 -DQT_NO_DEBUG -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_OPENGL_LIB -DQT_PLUGIN -DQT_QMLINTEGRATION_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICK3DASSETIMPORT_LIB -DQT_QUICK3DASSETUTILS_LIB -DQT_QUICK3DRUNTIMERENDER_LIB -DQT_QUICK3DUTILS_LIB -DQT_QUICK3D_LIB -DQT_QUICKTIMELINE_LIB -DQT_QUICK_LIB -DQT_SHADERTOOLS_LIB -DQT_WARN_DEPRECATED_UP_TO=0x070000 -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I$SRC_DIR/build/qtquick3d/src/plugins/assetimporters/assimp/AssimpImporterPlugin_autogen/include -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp -I$SRC_DIR/build/qtquick3d/src/plugins/assetimporters/assimp -I$SRC_DIR/build/qtbase/include -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/.. -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/contrib/unzip -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/CApi -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/Collada -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/Common -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/FBX -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/Material -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/Obj -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/PostProcessing -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/STL -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/glTF -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/glTF2 -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/contrib/poly2tri -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/contrib/pugixml/src -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/contrib/pugixml/contrib -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/contrib/rapidjson/include -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/contrib/utf8cpp/source -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/include -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/include/assimp/Compiler -I$SRC_DIR/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/unzip -I$SRC_DIR/build/qtbase/include/QtCore -I$SRC_DIR/qtbase/mkspecs/linux-g++ -I$SRC_DIR/build/qtbase/include/QtGui -I$SRC_DIR/build/qtquick3d/src/assetimport -I$SRC_DIR/build/qtbase/include/QtQuick3DAssetImport/6.5.0 -I$SRC_DIR/build/qtbase/include/QtQuick3DAssetImport/6.5.0/QtQuick3DAssetImport -I$SRC_DIR/build/qtbase/src/corelib -I$SRC_DIR/build/qtbase/include/QtCore/6.5.0 -I$SRC_DIR/build/qtbase/include/QtCore/6.5.0/QtCore -I$SRC_DIR/build/qtquick3d/src/utils -I$SRC_DIR/build/qtbase/include/QtQuick3DUtils/6.5.0 -I$SRC_DIR/build/qtbase/include/QtQuick3DUtils/6.5.0/QtQuick3DUtils -I$SRC_DIR/build/qtbase/src/gui -I$SRC_DIR/build/qtbase/include/QtGui/6.5.0 -I$SRC_DIR/build/qtbase/include/QtGui/6.5.0/QtGui -I$SRC_DIR/build/qtdeclarative/src/quick -I$SRC_DIR/build/qtbase/include/QtQuick/6.5.0 -I$SRC_DIR/build/qtbase/include/QtQuick/6.5.0/QtQuick -I$SRC_DIR/build/qtdeclarative/src/qmlmodels -I$SRC_DIR/build/qtbase/include/QtQmlModels/6.5.0 -I$SRC_DIR/build/qtbase/include/QtQmlModels/6.5.0/QtQmlModels -I$SRC_DIR/build/qtdeclarative/src/qml -I$SRC_DIR/build/qtbase/include/QtQml/6.5.0 -I$SRC_DIR/build/qtbase/include/QtQml/6.5.0/QtQml -I$SRC_DIR/build/qtbase/include/QtQml -I$SRC_DIR/build/qtbase/include/QtQmlIntegration -I$SRC_DIR/qtdeclarative/src/qmlintegration -I$SRC_DIR/build/qtdeclarative/src/qmlintegration -I$SRC_DIR/build/qtbase/include/QtNetwork -I$SRC_DIR/build/qtbase/include/QtQmlModels -I$SRC_DIR/build/qtbase/include/QtQuick -I$SRC_DIR/build/qtbase/include/QtOpenGL -I$SRC_DIR/build/qtbase/include/QtQuick3DUtils -I$SRC_DIR/build/qtbase/include/QtQuick3DAssetImport -I$SRC_DIR/build/qtquick3d/src/assetutils -I$SRC_DIR/build/qtbase/include/QtQuick3DAssetUtils/6.5.0 -I$SRC_DIR/build/qtbase/include/QtQuick3DAssetUtils/6.5.0/QtQuick3DAssetUtils -I$SRC_DIR/build/qtquick3d/src/runtimerender -I$SRC_DIR/build/qtbase/include/QtQuick3DRuntimeRender/6.5.0 -I$SRC_DIR/build/qtbase/include/QtQuick3DRuntimeRender/6.5.0/QtQuick3DRuntimeRender -I$SRC_DIR/build/qtbase/include/QtQuick3DRuntimeRender -I$SRC_DIR/build/qtbase/include/QtShaderTools -I$SRC_DIR/build/qtbase/include/QtConcurrent -I$SRC_DIR/build/qtshadertools/src/shadertools -I$SRC_DIR/build/qtbase/include/QtShaderTools/6.5.0 -I$SRC_DIR/build/qtbase/include/QtShaderTools/6.5.0/QtShaderTools -I$SRC_DIR/build/qtquick3d/src/quick3d -I$SRC_DIR/build/qtbase/include/QtQuick3D/6.5.0 -I$SRC_DIR/build/qtbase/include/QtQuick3D/6.5.0/QtQuick3D -I$SRC_DIR/build/qtbase/include/QtQuick3D -I$SRC_DIR/build/qtbase/include/QtQuick3DAssetUtils -I$SRC_DIR/build/qtquicktimeline/src/timeline -I$SRC_DIR/build/qtbase/include/QtQuickTimeline/6.5.0 -I$SRC_DIR/build/qtbase/include/QtQuickTimeline/6.5.0/QtQuickTimeline -I$SRC_DIR/build/qtbase/include/QtQuickTimeline -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/qt6-main-6.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/qt6-main-6.5.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DNDEBUG -O2 -std=c++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wno-ignored-qualifiers -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated-declarations -Wno-unused-function -Wno-cast-function-type -fPIC -Wsuggest-override -MD -MT qtquick3d/src/plugins/assetimporters/assimp/CMakeFiles/AssimpImporterPlugin.dir/Unity/unity_1_cxx.cxx.o -MF qtquick3d/src/plugins/assetimporters/assimp/CMakeFiles/AssimpImporterPlugin.dir/Unity/unity_1_cxx.cxx.o.d -o qtquick3d/src/plugins/assetimporters/assimp/CMakeFiles/AssimpImporterPlugin.dir/Unity/unity_1_cxx.cxx.o -c $SRC_DIR/build/qtquick3d/src/plugins/assetimporters/assimp/CMakeFiles/AssimpImporterPlugin.dir/Unity/unity_1_cxx.cxx
      2023-04-07T07:57:27.5443761Z In file included from $SRC_DIR/build/qtquick3d/src/plugins/assetimporters/assimp/CMakeFiles/AssimpImporterPlugin.dir/Unity/unity_1_cxx.cxx:29:
      2023-04-07T07:57:27.5444731Z $SRC_DIR/qtquick3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXImporter.cpp: In member function 'virtual void Assimp::FBXImporter::InternReadFile(const string&, aiScene*, Assimp::IOSystem*)':
      2023-04-07T07:57:27.5445515Z $SRC_DIR/qtquick3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXImporter.cpp:190:83: error: template argument 1 is invalid
      2023-04-07T07:57:27.5446004Z   190 |                 std::for_each(tokens.begin(), tokens.end(), Util::delete_fun<Token>());
      2023-04-07T07:57:27.5446271Z       |                                                                                   ^
      2023-04-07T07:57:27.5446527Z $SRC_DIR/qtquick3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXImporter.cpp:192:83: error: template argument 1 is invalid
      2023-04-07T07:57:27.5446879Z   192 |                 std::for_each(tokens.begin(), tokens.end(), Util::delete_fun<Token>());

       

      it passes if I disable assimp in quick3d:

      cmake -DFEATURE_quick3d_assimp=OFF

       

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            jschueller Julien Schueller
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes