Qt6 Widgets Application not working, exit code -1073741511
-
Also make sure the correct one (from your Qt installation, not from QtCreator directory) are loaded.
-
Also make sure the correct one (from your Qt installation, not from QtCreator directory) are loaded.
@Christian-Ehrlicher the correct one is used.
-
@Christian-Ehrlicher the correct one is used.
@HQ2000 said in Qt6 Widgets Application not working, exit code -1073741511:
the correct one is used.
Then you would not get this crash. Start in a debugger and see what dlls are loaded and at which dll it is crashing.
-
@HQ2000 said in Qt6 Widgets Application not working, exit code -1073741511:
the correct one is used.
Then you would not get this crash. Start in a debugger and see what dlls are loaded and at which dll it is crashing.
@Christian-Ehrlicher do you have an example which one? With the standard CLion debug config I get the exit code -1
here are the loaded DLLs: -
I would either start gdb from the command line or in visual studio - esp. in Visual Studio the debugger panel shows what dlls are loaded when in a nice view. Never used CLion.
-
@Christian-Ehrlicher
Here are the DLLs:- C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Core.dll
- C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Widgets.dll
- C:\Qt\6.9.0\mingw_64\bin\libgcc_s_seh-1.dll
- C:\Qt\6.9.0\mingw_64\bin\libstdc++-6.dll
- C:\WINDOWS\system32\kernel32.dll
- C:\WINDOWS\system32\MSVCRT.dll
I looked up every single one and they're all available.
-
@Christian-Ehrlicher
Here are the DLLs:- C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Core.dll
- C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Widgets.dll
- C:\Qt\6.9.0\mingw_64\bin\libgcc_s_seh-1.dll
- C:\Qt\6.9.0\mingw_64\bin\libstdc++-6.dll
- C:\WINDOWS\system32\kernel32.dll
- C:\WINDOWS\system32\MSVCRT.dll
I looked up every single one and they're all available.
@HQ2000 said in Qt6 Widgets Application not working, exit code -1073741511:
C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Core.dll
C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Widgets.dll
Your
CMakeLists.txt
lists:find_package(Qt6 COMPONENTS Core Gui Widgets REQUIRED)
So is there not at least a
Qt6Gui.dll
also required?I don't know any more than: somewhere you are messed up in what you have built, where you have placed it and what is required. And I do not use Windows or MinGW.
-
@HQ2000 said in Qt6 Widgets Application not working, exit code -1073741511:
C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Core.dll
C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Widgets.dll
Your
CMakeLists.txt
lists:find_package(Qt6 COMPONENTS Core Gui Widgets REQUIRED)
So is there not at least a
Qt6Gui.dll
also required?I don't know any more than: somewhere you are messed up in what you have built, where you have placed it and what is required. And I do not use Windows or MinGW.
@JonB said in Qt6 Widgets Application not working, exit code -1073741511:
C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Core.dll
C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Widgets.dllWhy are the dlls there? Where do they come from? Normally they are used from the PATH env var.
-
@JonB said in Qt6 Widgets Application not working, exit code -1073741511:
C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Core.dll
C:\Users[MyUsrName]\CLionProjects\CPS\cmake-build-debug\Qt6Widgets.dllWhy are the dlls there? Where do they come from? Normally they are used from the PATH env var.
@Christian-Ehrlicher I agree. I was just quoting from the OP's post. We know the OP really needs to sort out what they have where.
-
@JonB
@Christian-Ehrlicher
Since you both haven't worked with CLion and Qt so far (I guess), let me clarify some things:- Qt6Gui is required as a standard (you can change that of course) if you use CLion with Qt, so it is available for but not required by the sample program since none of its functionality is used.
- The DLLs are there because because of the "find_package" command in the CMakeLists.txt file.
I tried to run it with gdb as @Christian-Ehrlicher told me and I was able to run it with any problems...
@hskoglund
I tried it...same error -
@JonB
@Christian-Ehrlicher
Since you both haven't worked with CLion and Qt so far (I guess), let me clarify some things:- Qt6Gui is required as a standard (you can change that of course) if you use CLion with Qt, so it is available for but not required by the sample program since none of its functionality is used.
- The DLLs are there because because of the "find_package" command in the CMakeLists.txt file.
I tried to run it with gdb as @Christian-Ehrlicher told me and I was able to run it with any problems...
@hskoglund
I tried it...same error@HQ2000 said in Qt6 Widgets Application not working, exit code -1073741511:
The DLLs are there because because of the "find_package" command in the CMakeLists.txt file.
No, find_package() does not copy anything.
-
Hello everyone!
I'm trying to get into programming with Qt6 on desktop using Qt Widgets and I have run into a problem: Whenever I build and run my code, I get the following output:
Process finished with exit code -1073741511 (0xC0000139)
Of course, mostly that's due to an incorrect setup up, but I have previously managed to successfully run the sample Qt program provided by the IDE. I checked the tutorial I used for the setup and it seems like it should work - but it doesn't.
-- Additional Information --
- Tutorial I used
- OS: Windows 11 Home
- IDE: CLion 2025.1
- Build System: CMake (+ ninja)
- Qt Installation: 6.9.0
- Qt Directory: C:\Qt
- Project Name: CPS
- CMakeLists.txt file:
cmake_minimum_required(VERSION 3.31) project(CPS) set(CMAKE_CXX_STANDARD 17) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/mingw_64") find_package(Qt6 COMPONENTS Core Gui Widgets REQUIRED) add_executable(CPS main.cpp) target_link_libraries(CPS Qt::Core Qt::Gui Qt::Widgets ) if (WIN32 AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) set(DEBUG_SUFFIX) if (MSVC AND CMAKE_BUILD_TYPE MATCHES "Debug") set(DEBUG_SUFFIX "d") endif () set(QT_INSTALL_PATH "${CMAKE_PREFIX_PATH}") if (NOT EXISTS "${QT_INSTALL_PATH}/bin") set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..") if (NOT EXISTS "${QT_INSTALL_PATH}/bin") set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..") endif () endif () if (EXISTS "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll") add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/") add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll" "$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/") endif () foreach (QT_LIB Core Gui Widgets) add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/bin/Qt6${QT_LIB}${DEBUG_SUFFIX}.dll" "$<TARGET_FILE_DIR:${PROJECT_NAME}>") endforeach (QT_LIB) endif ()
Note: the CMake "code" at the end isn't directly relevant, it's standard since this isn't Qt creator.
- main.cpp file:
#include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication a(argc, argv); QPushButton button("Hello world!", nullptr); button.resize(200, 100); button.show(); return QApplication::exec(); }
Note: this the unchanged example project which is working under correct circumtances.
Potential Errors
- Path variable: I added "C:\Qt\Tools\mingw64\bin" and "C:\Qt\6.9.0\mingw_64\bin" to the System Path variable
- CMake Prefix Path: Set correctly, see Qt path and CMakeLists.txt file
If there's a piece of information I missed, tell me and I will add it.
Thanks in advance
HQ2000@Christian-Ehrlicher you're right, it's done here
@HQ2000 said in Qt6 Widgets Application not working, exit code -1073741511:foreach (QT_LIB Core Gui Widgets) add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/bin/Qt6${QT_LIB}${DEBUG_SUFFIX}.dll" "$<TARGET_FILE_DIR:${PROJECT_NAME}>") endforeach (QT_LIB)
-
@Christian-Ehrlicher you're right, it's done here
@HQ2000 said in Qt6 Widgets Application not working, exit code -1073741511:foreach (QT_LIB Core Gui Widgets) add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/bin/Qt6${QT_LIB}${DEBUG_SUFFIX}.dll" "$<TARGET_FILE_DIR:${PROJECT_NAME}>") endforeach (QT_LIB)
@HQ2000
So purely OOI could you comment on why thatforeach
has not copiedQt6Gui.dll
as I asked earlier? However you say you know it works without that, somehow.Confirm you are not building your project for debug?
Remove everything on your
PATH
environment variable so we know it is not picking something up somewhere? -
Don't do this. Adjust your PATH env var accordingly and use windeployqt when you want to deploy your app. Your are missing dll and plugins
-
@HQ2000
So purely OOI could you comment on why thatforeach
has not copiedQt6Gui.dll
as I asked earlier? However you say you know it works without that, somehow.Confirm you are not building your project for debug?
Remove everything on your
PATH
environment variable so we know it is not picking something up somewhere?@JonB copying dlls around manually is wrong. The PATH env var has to be adjusted.
-
@JonB copying dlls around manually is wrong. The PATH env var has to be adjusted.
@Christian-Ehrlicher
? Of course, I know! I was just trying to diagnose where the OP's problem might lie, given what is in the makefile. I posted before your post. -
@Christian-Ehrlicher
? Of course, I know! I was just trying to diagnose where the OP's problem might lie, given what is in the makefile. I posted before your post.@JonB said in Qt6 Widgets Application not working, exit code -1073741511:
where the OP's problem might lie,
The problem is, that he is copying only half of the required stuff because he is doing some strang stuff manually for no reason.
-
@JonB said in Qt6 Widgets Application not working, exit code -1073741511:
where the OP's problem might lie,
The problem is, that he is copying only half of the required stuff because he is doing some strang stuff manually for no reason.
@Christian-Ehrlicher so, what else should I get you? Also, the whole CMakeLists.txt file is standard in CLion. I did not write this.
Yes, I did some things manually on purpose. Private data.. -
As I already wrote - don't copy stuff around as it's wrong as it's missing things. Adjust your PATH var accordingly so that the Qt libs are properly found.