Uploaded image for project: 'Qt Design Studio'
  1. Qt Design Studio
  2. QDS-6287

Linker Issue while building the QML emulation layer (QML puppet)

    XMLWordPrintable

Details

    • Windows

    Description

      We have to use a custom Qt5 QML module which uses QtGraphicalEffects in our project. But it is not available for the built-in QML puppet.

      So we wanted to use a custom QML emulation layer (Tools -> Options -> Qt Quick -> Use QML emulation layer that was built with the selected Qt)

      We tried the provided Qt5 (Tools\QtDesignStudio\qt5_design_studio_reduced_version) and the Qt 5.15 used in our mainline development. 

      When Design Studio tried to build the puppet, we get a popup that it failed. The provided log shows sadly nothing useful:

      {{Microsoft (R) Program Maintenance Utility Version 14.16.27045.0}}
      {{Copyright (C) Microsoft Corporation. All rights reserved.}}
      {{Microsoft (R) Program Maintenance Utility Version 14.16.27045.0}}
      {{Copyright (C) Microsoft Corporation. All rights reserved.}}{{NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX64\x86\link.EXE"' : return code '0x460'}}
      {{Stop.}}
      {{NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\nmake.exe"' : return code '0x2'}}
      {{Stop.}}
      
      So we opened a VS command prompt at the path where the log file resides an ran nmake manually:
      
      {{[vcvarsall.bat] Environment initialized for: 'x86'}}{{C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools>cd C:\Users\mayef_ext\AppData\Local\Temp\QtDesignStudio-eEsRTl\qml-puppet-build.rDrWpF}}{{C:\Users\mayef_ext\AppData\Local\Temp\QtDesignStudio-eEsRTl\qml-puppet-build.rDrWpF>nmake}}
      
      {{Microsoft (R) Program Maintenance Utility Version 14.16.27045.0}}
      {{Copyright (C) Microsoft Corporation. All rights reserved.}}{{"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\nmake.exe" -f Makefile.Release}}{{Microsoft (R) Program Maintenance Utility Version 14.16.27045.0}}
      {{Copyright (C) Microsoft Corporation. All rights reserved.}}{{link /NOLOGO /DYNAMICBASE /NXCOMPAT /OPT:REF /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:C:\Qt\DesignStudio\Tools\QtDesignStudio\qt5_design_studio_reduced_version\3.0.0\yCuluyjxIt6Y8EC08pduaqlPzAs\qml2puppet.exe @C:\Users\MAYEF_~1\AppData\Local\Temp\nmAF26.tmp}}
      {{qt5informationnodeinstanceserver.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QSSGAssetImportManager::QSSGAssetImportManager(class QObject *)" (__imp_??0QSSGAssetImportManager@@QAE@PAVQObject@@@Z) referenced in function "private: void __thiscall QmlDesigner::Qt5InformationNodeInstanceServer::resolveImportSupport(void)" (?resolveImportSupport@Qt5InformationNodeInstanceServer@QmlDesigner@@AAEXXZ)}}
      {{import3d.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall QSSGAssetImportManager::QSSGAssetImportManager(class QObject *)" (__imp_??0QSSGAssetImportManager@@QAE@PAVQObject@@@Z)}}
      {{qt5informationnodeinstanceserver.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QSSGAssetImportManager::~QSSGAssetImportManager(void)" (__imp_??1QSSGAssetImportManager@@UAE@XZ) referenced in function "private: void __thiscall QmlDesigner::Qt5InformationNodeInstanceServer::resolveImportSupport(void)" (?resolveImportSupport@Qt5InformationNodeInstanceServer@QmlDesigner@@AAEXXZ)}}
      {{import3d.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QSSGAssetImportManager::~QSSGAssetImportManager(void)" (__imp_??1QSSGAssetImportManager@@UAE@XZ)}}
      {{qt5informationnodeinstanceserver.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class QHash<class QString,class QMap<class QString,class QVariant> > __thiscall QSSGAssetImportManager::getAllOptions(void)const " (__imp_?getAllOptions@QSSGAssetImportManager@@QBE?AV?$QHash@VQString@@V?$QMap@VQString@@VQVariant@@@@@@XZ) referenced in function "private: void __thiscall QmlDesigner::Qt5InformationNodeInstanceServer::resolveImportSupport(void)" (?resolveImportSupport@Qt5InformationNodeInstanceServer@QmlDesigner@@AAEXXZ)}}
      {{qt5informationnodeinstanceserver.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class QHash<class QString,class QStringList> __thiscall QSSGAssetImportManager::getSupportedExtensions(void)const " (__imp_?getSupportedExtensions@QSSGAssetImportManager@@QBE?AV?$QHash@VQString@@VQStringList@@@@XZ) referenced in function "private: void __thiscall QmlDesigner::Qt5InformationNodeInstanceServer::resolveImportSupport(void)" (?resolveImportSupport@Qt5InformationNodeInstanceServer@QmlDesigner@@AAEXXZ)}}
      {{import3d.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: enum QSSGAssetImportManager::ImportState __thiscall QSSGAssetImportManager::importFile(class QString const &,class QDir const &,class QMap<class QString,class QVariant> const &,class QString *)" (__imp_?importFile@QSSGAssetImportManager@@QAE?AW4ImportState@1@ABVQString@@ABVQDir@@ABV?$QMap@VQString@@VQVariant@@@@PAV3@@Z) referenced in function "void __cdecl Import3D::import3D(class QString const &,class QString const &,int,class QString const &)" (?import3D@Import3D@@YAXABVQString@@0H0@Z)}}
      {{import3d.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall QSSGAssetImportManager::metaObject(void)const " (?metaObject@QSSGAssetImportManager@@UBEPBUQMetaObject@@XZ)}}
      {{import3d.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall QSSGAssetImportManager::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QSSGAssetImportManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z)}}
      {{import3d.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall QSSGAssetImportManager::qt_metacast(char const *)" (?qt_metacast@QSSGAssetImportManager@@UAEPAXPBD@Z)}}
      {{C:\Qt\DesignStudio\Tools\QtDesignStudio\qt5_design_studio_reduced_version\3.0.0\yCuluyjxIt6Y8EC08pduaqlPzAs\qml2puppet.exe : fatal error LNK1120: 8 unresolved externals}}
      {{NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\link.EXE"' : return code '0x460'}}
      {{Stop.}}
      {{NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\nmake.exe"' : return code '0x2'}}
      {{Stop.}}{{C:\Users\mayef_ext\AppData\Local\Temp\QtDesignStudio-eEsRTl\qml-puppet-build.rDrWpF>}}
      

      Where is the origin of the missing class QSSGAssetImportManager?

       

       

       

      Attachments

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

        Activity

          People

            tjenssen Tim Jenssen
            sans_ltd Florian Mayer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes