Entry Point Not Found : The procedure entry point CreateDXGIFactory2 could not be located in the dynamic link library dxgi.dll
-
Hello.
I create Qt Static version then release application with it
Application work fine on windows 10
but in windows 7Entry Point Not Found : The procedure entry point CreateDXGIFactory2 could not be located in the dynamic link library dxgi.dll
Also if I make shared library application do not show anything no screen shown.
Thank you
-
Finally I found problem
My working solution step by step:
1- Install fresh windows 7 on VMware and update to latest verion (Windows 7 x86 SP1) with Accelerate Direct 3D or any windows 7 installed on your computer
2- Install visual studio 2015 Update3 with visual c++
3- DirectX Sdk latest versionDownload
-
Visit http://info.qt.io/download-qt-for-application-development
-
list itemSelect “Get your open source package“
-
list itemClick “View All Downloads“
-
list itemDownload source package for Windows users as a single zip file (565 MB)
Build a static version of Qt using Microsoft Visual Studio:
- list itemDownload and Install Perl (http://www.activestate.com/activeperl/downloads).
- Download and Install Python (https://www.python.org/downloads/).
- Make sure that Microsoft Visual Studio is installed.
- Create directory: “C:\Qt\Static“
- Copy downloaded Qt archive to this folder and extract it there. “C:\Qt\Static\qt-everywhere-opensource-src-5.8.0“
- Edit file “C:\Qt\Static\qt-everywhere-opensource-src-5.8.0\qtbase\mkspecs\common\msvc-desktop.conf” and replace all MD to MT to remove dependency on msvc dlls, in the following lines:
QMAKE_CFLAGS_RELEASE = -O2 -MD QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi QMAKE_CFLAGS_DEBUG = -Zi -MDd
QMAKE_CFLAGS_RELEASE = -O2 -MT QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi QMAKE_CFLAGS_DEBUG = -Zi -MTd
- Start the Visual Studio 2015 Command Prompt (VS2015 x86 Native Tools Command Prompt).
- Change directory to source code download folder.
cd C:\Qt\Static\qt-everywhere-opensource-src-5.8.0
- Execute the following commands:
configure -static -debug-and-release -prefix "C:\Qt\Static\5.8.0" -platform win32-msvc2015 -qt-zlib -opensource -confirm-license -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -sql-odbc -sql-sqlite -skip qt3d -skip qttools -opengl dynamic -make libs -nomake tools -skip qtdoc -skip qtwayland -skip qtwebview -skip qtwebengine -skip qtwebchannel -no-qml-debug -skip qtscript -no-icu -no-compile-examples -nomake examples -nomake tests
nmake
nmake install
Wait until finished :)
Jobs done.
Now work on all OS version above windows 7
Now build project by this QT -
-
@hskoglund
The problem is I can run project in debug mode both opengl and d3d12 but when I build by Qt static this error happened.
I set to OpenGl or Software but nothing happen in static build but now I can run in mingw(software render)If i use shared dll project is run but do not show any thing
Programming system:
Windows server 2008 R2 -
@Cinohee said in Entry Point Not Found : The procedure entry point CreateDXGIFactory2 could not be located in the dynamic link library dxgi.dll:
if I make shared library application do not show anything no screen shown.
Some questions:
- What graphics card does your Windows 7 PC have?
- What graphics card does your Windows 10 PC have?
- Are you using Qt Quick or OpenGL?
- Are you using any 3rd-party libraries?
-
Finally I found problem
My working solution step by step:
1- Install fresh windows 7 on VMware and update to latest verion (Windows 7 x86 SP1) with Accelerate Direct 3D or any windows 7 installed on your computer
2- Install visual studio 2015 Update3 with visual c++
3- DirectX Sdk latest versionDownload
-
Visit http://info.qt.io/download-qt-for-application-development
-
list itemSelect “Get your open source package“
-
list itemClick “View All Downloads“
-
list itemDownload source package for Windows users as a single zip file (565 MB)
Build a static version of Qt using Microsoft Visual Studio:
- list itemDownload and Install Perl (http://www.activestate.com/activeperl/downloads).
- Download and Install Python (https://www.python.org/downloads/).
- Make sure that Microsoft Visual Studio is installed.
- Create directory: “C:\Qt\Static“
- Copy downloaded Qt archive to this folder and extract it there. “C:\Qt\Static\qt-everywhere-opensource-src-5.8.0“
- Edit file “C:\Qt\Static\qt-everywhere-opensource-src-5.8.0\qtbase\mkspecs\common\msvc-desktop.conf” and replace all MD to MT to remove dependency on msvc dlls, in the following lines:
QMAKE_CFLAGS_RELEASE = -O2 -MD QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi QMAKE_CFLAGS_DEBUG = -Zi -MDd
QMAKE_CFLAGS_RELEASE = -O2 -MT QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi QMAKE_CFLAGS_DEBUG = -Zi -MTd
- Start the Visual Studio 2015 Command Prompt (VS2015 x86 Native Tools Command Prompt).
- Change directory to source code download folder.
cd C:\Qt\Static\qt-everywhere-opensource-src-5.8.0
- Execute the following commands:
configure -static -debug-and-release -prefix "C:\Qt\Static\5.8.0" -platform win32-msvc2015 -qt-zlib -opensource -confirm-license -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -sql-odbc -sql-sqlite -skip qt3d -skip qttools -opengl dynamic -make libs -nomake tools -skip qtdoc -skip qtwayland -skip qtwebview -skip qtwebengine -skip qtwebchannel -no-qml-debug -skip qtscript -no-icu -no-compile-examples -nomake examples -nomake tests
nmake
nmake install
Wait until finished :)
Jobs done.
Now work on all OS version above windows 7
Now build project by this QT -
-
-
I found the solution for this specific error. the d3d12 component calls the CreateDXGIFactory2 function which makes all you statically compiled applications depend on the DXGI dll.
To get around this add
-no-feature-d3d12
to your configure call.
I used in full:
configure.bat -prefix "C:\Qt\5.9\msvc2015_static" -release -platform win32-msvc -confirm-license -opensource -nomake examples -nomake tests -nomake tools -static -static-runtime -opengl dynamic -angle -combined-angle-lib -no-feature-d3d12
Also note that I had very bad expeciences with rebuilding Qt on windows, I recommend always starting with a clean Src folder (copy a backup fresh after downloading) and not relying on clean/distclean. Also sometimes I got compilation errors which were resolved after starting jom a second time.