Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt Creator compilation issue



  • Hello!

    I want to build Qt Creator from source, but I get this issue after compilation when I run Qt Creator:

    2020-12-19_181934.png

    Steps:

    cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=C:/Qt/5.15.1/msvc2019_64;C:/Program Files/LLVM C:/Users/cobra/Downloads/qt-creator-opensource-src-4.14.1
    Compile QtCreator.sln project file using VS 2019
    cmake --install . --prefix C:/Users/cobra/Downloads/qtcreator_install
    cmake --install . --prefix C:/Users/cobra/Downloads/qtcreator_install --component Dependencies
    

    Command Prompt output: https://mega.nz/file/EdgCzJ6A#qASguPUA3Vx4mctyOeQJBF-WDspAuB5pPbXcMG2BAvQ

    I want to fix the Qt Creator startup issue because on my AMD 8350 (8 core) CPU it takes 11 - 25 seconds to start. I have reported it but the issue is still exists: https://bugreports.qt.io/browse/QTCREATORBUG-23623 Any ideas how to fix it? Thank you.


  • Moderators

    Compile QtCreator.sln project file using VS 2019
    

    I suggest to not use the Visual Stuido Generator. Prefer Makefiles (JOM) or (better) Ninja.

    Also, I think the {{--prefix}} option doesn't work for Qt Creator. Set the installation path already at cmake configure time by specifying -DCMAKE_INSTALL_PREFIX=.



  • @kkoehne

    Hello!

    I will try it and reply soon. Thank you.



  • @kkoehne

    I have tried to build it by using jom, but it leads to errors. I will recheck the cmd output. I think, there were some warnings which must be fixed in order to compile successfully.



  • I have checked it again. So, the first it displays the error message below:

    2020-12-21_141544.png

    Then, the following jom error occurs:

    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/messagemanager.cpp.obj
    messagemanager.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/messageoutputwindow.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/mimetypemagicdialog.cpp.obj
    messageoutputwindow.cpp
    mimetypemagicdialog.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/mimetypesettings.cpp.obj
    mimetypesettings.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/minisplitter.cpp.obj
    minisplitter.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/modemanager.cpp.obj
    modemanager.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/navigationsubwidget.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/navigationwidget.cpp.obj
    navigationsubwidget.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/opendocumentstreeview.cpp.obj
    navigationwidget.cpp
    opendocumentstreeview.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/outputpane.cpp.obj
    outputpane.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/outputpanemanager.cpp.obj
    outputpanemanager.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/outputwindow.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/plugindialog.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/patchtool.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/plugininstallwizard.cpp.obj
    outputwindow.cpp
    plugindialog.cpp
    patchtool.cpp
    plugininstallwizard.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/progressmanager/futureprogress.cpp.obj
    futureprogress.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/progressmanager/progressmanager.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/progressmanager/progressbar.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/progressmanager/progressview.cpp.obj
    progressmanager.cpp
    progressbar.cpp
    progressview.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/reaper.cpp.obj
    reaper.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/rightpane.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/settingsdatabase.cpp.obj
    settingsdatabase.cpp
    rightpane.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/shellcommand.cpp.obj
    shellcommand.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/sidebar.cpp.obj
    sidebar.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/sidebarwidget.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/statusbarmanager.cpp.obj
    sidebarwidget.cpp
    statusbarmanager.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/styleanimator.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/systemsettings.cpp.obj
    styleanimator.cpp
    systemsettings.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/textdocument.cpp.obj
    textdocument.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/themechooser.cpp.obj
    themechooser.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/vcsmanager.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/versiondialog.cpp.obj
    vcsmanager.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/welcomepagehelper.cpp.obj
    versiondialog.cpp
    welcomepagehelper.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/windowsupport.cpp.obj
    windowsupport.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/progressmanager/progressmanager_win.cpp.obj
    progressmanager_win.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/locator/javascriptfilter.cpp.obj
    javascriptfilter.cpp
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/dialogs/moc_filepropertiesdialog.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/Core_autogen/EWIEGA46WW/qrc_core.cpp.obj
    [ 40%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/Core_autogen/EWIEGA46WW/qrc_fancyactionbar.cpp.obj
    moc_filepropertiesdialog.cpp
    qrc_core.cpp
    qrc_fancyactionbar.cpp
    [ 41%] Building CXX object src/plugins/coreplugin/CMakeFiles/Core.dir/Core_autogen/KJSVWYKJNP/qrc_find.cpp.obj
    qrc_find.cpp
    [ 41%] Linking CXX shared library ..\..\..\lib\qtcreator\plugins\Core4.dll
       Creating library ..\..\..\lib\qtcreator\plugins\Core.lib and object ..\..\..\lib\qtcreator\plugins\Core.exp
    jom: C:\Users\cobra\Downloads\qt-creator-opensource-src-4.14.1\CMakeFiles\Makefile2 [src\shared\qbs\share\CMakeFiles\BuildQbsResources.dir\all] Error 2
    jom: C:\Users\cobra\Downloads\qt-creator-opensource-src-4.14.1\Makefile [all] Error 2
    

    So, I need to find a solution to fix the qbs.exe issue, then it must compile successfully. I think, this error is the mismatch between x86/x64 libraries/components or some missing libraries.



  • I have built Qt Creator using Ninja successfully but when I run it the following error message appears:

    2020-12-21_180844.png

    I think, it could be related to the cmake config parameters. I need to set the additional parameters: -A x64 -Thost=x64 (https://cmake.org/cmake/help/latest/guide/user-interaction/index.html), so it will use x64 libs/binaries, otherwise for some reason it mixes libs/components with x86 while compiling Qt Creator x64 version.



  • I have tried to set to cmake these parameters: -A x64 -Thost=x64, but it fails:

    2020-12-21_193110.png

    So, the Jom and Ninja does not require any additional parameters. I think the problem is with:

    -- Could NOT find Clang (missing: Clang_DIR)
    -- Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) (Required is at least version "3.8")
    CMake Warning at src/libs/qtcreatorcdbext/CMakeLists.txt:50 (message):
      PythonLibs (at least version 3.8) not found.  qtcreatorcdbext will be built
      without Python support.
    
    
    CMake Deprecation Warning at src/plugins/help/qlitehtml/litehtml/CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    CMake Deprecation Warning at src/plugins/help/qlitehtml/litehtml/src/gumbo/CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    CMake Warning at src/tools/CMakeLists.txt:4 (message):
      Could not find Clang installation - disabling clangbackend.
    
    
    -- Could NOT find elfutils (missing: ELFUTILS_INCLUDE_DIR ELFUTILS_LIB_dw ELFUTILS_LIB_elf)
    -- PerfParser is disabled. Set ELFUTILS_INSTALL_DIR to enable it.
    -- Found PythonInterp: C:/Python27/python.exe (found version "2.7.15")
    CMake Warning at share/qtcreator/translations/CMakeLists.txt:12 (message):
      No python3 interpreter found, skipping extraction of data from XML and JSON
      files.
    
       *** Please pass -DPYTHON_EXECUTABLE=/path/to/python3 to cmake.
    
    -- The following packages have not been found:
    
     * Clang
     * KF5SyntaxHighlighting
     * PythonLibs (required version >= 3.8)
     * Qt5SvgWidgets
     * elfutils, a collection of utilities and libraries to read, create and modify ELF binary files, <https://sourceware.org/elfutils/>
    

    I think, some key libs/components are missing which are required to compile Qt Creator.



  • I have found that this error: 0xc000007b occurs due to a missing Qt libs. When I run windeploy it adds the necessary libs. But when I start Qt Creator it displays the same error message as in my main question:

    Qt Creator Core plugin issue

    I have tried to compile Qt Creator with Qt 5.15.1 and Qt 5.15.2, but the issue is the same. I have checked the first path and it contains the Core4.dll library. What is exactly the Core plugin? Is it the Core4.dll file or something else? Thanks.



  • Additionally, I found out that qtcreator_build is hardcoded path, so I have changed my install path to qtcreator_build. Now it displays the following error message:

    2020-12-22_234408.png

    For some reason, it can not load the Core4.dll library. This plugin exists:

    2020-12-22_234536.png

    Any ideas?



  • @Cobra91151
    Check dependencies of Core4.dll with a Dependency Walker? I'm not sure, but can it report a certain DLL could not be found when in fact it's one of its dependencies which cannot be found?

    Or --- and this is a bit out there --- recently a colleague had some permission problems trying to run stuff out of his Downloads directory, that's not an issue is it?



  • @JonB

    Ok. I will try it. Thanks.



  • @JonB

    Hello!

    I have copied the qtcreator_build to a different location in case of permission issue. The result is the same:

    2020-12-23_132258.png

    Also, I have checked Core4.dll for missing dependencies:

    2020-12-23_131624.png

    By the way, I have checked the qtcreator.exe built by Qt and mine for missing dependencies, there are a few missing like SHELL32.dll, user32.dll, WS2_32.dll etc for both versions, but Qt Creator built by Qt starts without issues. So, I have additionally checked and assume that I have incomplete Qt Creator build due to the cmake warnings for missing components (check out my previous posts):

    2020-12-23_133906.png

    On the left is my compilation - lib directory, on the right Qt Creator compiled by Qt (lib directory). I think to fix this issue, I must fix all cmake warnings and make sure the build will be identical as provided by Qt.



  • I have added the components. So, now it only missing:
    -- The following packages have not been found:

    • KF5SyntaxHighlighting
    • Qt5SvgWidgets
    • Zstd

    I built Qt Creator successfully using ninja but when I run Qt Creator, it still displays the Failed to load core error. I think, even when I built the Qt Creator with QThread::currentThread()->setPriority(QThread::HighPriority); it will not fix the startup issue. I have found what causes slow Qt Creator startup: https://stackoverflow.com/questions/58837802/qt-creator-how-to-disable-update-documentation-process-on-startup

    So, when I remove all Qt Creator settings and start it again. Then it displays white window for a few seconds and updates the docs every time. I have tried to disable the check for automatic updates but it still the same. It still updates the docs every Qt Creator startup. Qt Creator developers should add an option to disable the docs update. I do not have time to play around with it any more.


Log in to reply