Qt5 software provides the error "The procedure entry point could not be located in the dynamic link library"
-
I'm attempting to use Qt5 with CLion for a class project. It's being integrated with a bunch of other technologies that we're working with, so we're trying to sit all components of the project on the same IDE. This is on Windows 10
I have configured CLion to work with MinGW and CMake. Below is my CMakeLists.txt
# cmake_minimum_required(VERSION <specify CMake version here>) project(DesktopInterface) cmake_minimum_required(VERSION 3.17) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) #test set(CMAKE_PREFIX_PATH "C:\\Qt\\5.15.2\\mingw81_32") find_package(Qt5Widgets REQUIRED) set(CMAKE_CXX_STANDARD 20) add_executable(DesktopInterface main.cpp DesktopInterface.cpp DesktopInterface.h QHomeWindow.cpp QHomeWindow.h QVRControlWidget.cpp QVRControlWidget.h QDataControlWidget.cpp QDataControlWidget.h APPLICATION_CONSTANTS.h) target_link_libraries(DesktopInterface Qt5::Widgets)
The program compiles fine, but when I go to run it I get the error:
The procedure entry point _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE could not be located in the dynamic link library C:\Qt\5.15.2\mingw81_32\bin\Qt5Core.dll
In CLion, I don't even get that much.
Process finished with exit code -1073741511 (0xC0000139)
As far as I'm aware, I'm linking the same Qt5Core.dll file to the executable that I provide at launch, and the version of Qt5 that it's pulling the .dll from is the only one on my system.
What could I be doing wrong?
-
Hi, because of an "improvement" in Windows 10 error diagnostics (as compared to all prior versions of Windows (1.0 -- 8.1) that error message
"The procedure entry point _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE could not be located in the dynamic link library C:\Qt\5.15.2\mingw81_32\bin\Qt5Core.dll"
means that QtCore5.dll is not actually the bad guy, it's some other .dll. Qt5Core.dll is merely the requester/importer of that procedure, and some other (unnamed) .dll is the implementer/exporter of that procedure. So that other (unnamed) .dll is causing the problem, i.e. you have more than one version of it on your PC.
If you do a find command in your C:\Qt\5.15.2\mingw81_32\bin directory
(find "_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE" *.dll) you'll discover that the bad .dll is libstdc++-6.dll.
So that's the. dll you probably have more than one version of on your PC. -
@hskoglund Thank you! Your answer helped me.