I have application created with QT5
and Visual Studio 2013
. I also use QT WebEngine
in my application.
My application works fine in windows 7 (32 bit) . For some reason i need to run it in windows xp sp3 (32 bit).
When i run it, I get the following error:
The procedure entry point strnlen could not be located in the dynamic link library msvcrt.dll
I press OK
several time and it goes away and my QMainWindow
will pop out, But its totally BLACK and i see the following errors in debugger.
class QWindowsEGLStaticContext *__cdecl QWindowsEGLStaticContext::create(class QFlags<enum QWindowsOpenGLTester::Renderer>): Could not initialize EGL display: error 0x3001
class QWindowsEGLStaticContext *__cdecl QWindowsEGLStaticContext::create(class QFlags<enum QWindowsOpenGLTester::Renderer>): When using ANGLE, check if d3dcompiler_4x.dll is available
The d3dcompiler_47.dll
is in application directory too.
Whats wrong here?
UPDATE 1
I placed 3dcompiler_46.dll in executable's directory and this is what happened.
I still get The procedure entry point strnlen could not be located in the dynamic link library msvcrt.dll
error but after i press Ok
, I get the following error as well.
The procedure entry point _except_handler4_common could not be located in the dynamic link library msvcrt.dll
The QMainWindow
is still BLACK
and the errors about ANGLE
is the same.
UPDATE 2
I build QT
for Windows XP
with following configuration
configure -release -opensource -opengl desktop -target xp -platform win32-msvc2013 -angle -icu -nomake examples -prefix C:\QT-Compile
I replaced QT
dependency and ran my application, I got the following errors:
The application has failed to start because icuin56.dll was not found
The application has failed to start because icuuc56.dll was not found
I tried to find them in QT
directory (C:\QT-Compile) and i couldn't but i had them on main machine that run in Windows Seven
, I placed them next to executable and application run successfully and previous errors are gone, However, The QMainWindow
is still BLACK
and i have the following errors in my debugger in run time.
QOpenGLShaderProgram: could not create shader program
QOpenGLShader: could not create shader
bool __thiscall QOpenGLTextureBlitter::create(void) Could not link shader program:
Whats wrong now ?
UPDATE 3
This is how i configured QT
.
configure -release -opensource -opengl dynamic -target xp -platform win32-msvc2013 -icu -nomake examples -prefix C:\QT-Compile
I used windeployqt.exe
and placed required DLLs and ... next to executable.
Ran application in windows xp and i keep getting following errors then application crash.
Message Box :
The procedure entry point strnlen could not be located in the dynamic link library msvcrt.dll
QT Debugger :
class QWindowsEGLStaticContext *__cdecl QWindowsEGLStaticContext::create(class QFlags<enum QWindowsOpenGLTester::Renderer>): Could not initialize EGL display: error 0x3001
class QWindowsEGLStaticContext *__cdecl QWindowsEGLStaticContext::create(class QFlags<enum QWindowsOpenGLTester::Renderer>): When using ANGLE, check if d3dcompiler_4x.dll is available
Failed to load opengl32sw.dll (The specified module could not be found.)
class QOpenGLStaticContext *__cdecl QOpenGLStaticContext::create(bool): Failed to load and resolve WGL/OpenGL functions