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 7

    Entry 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
    0_1492531928942_upload-6dfdf2e2-19db-4d0e-a874-59bb5a0e4358



  • H, I think this is because Direct3D12 requires Windows 10, so Windows 7 is not supported. Try using "OpenGL" or "Software" settings instead...



  • @hskoglund
    How I can enable openGl or Software settings?



  • @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


  • Moderators

    @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:

    1. What graphics card does your Windows 7 PC have?
    2. What graphics card does your Windows 10 PC have?
    3. Are you using Qt Quick or OpenGL?
    4. Are you using any 3rd-party libraries?


  • @JKSH

    1. Windows 7 is AmdGraphic card HD Series but I design under the RDP Virtual machine Windows server 2008R2
    2. Windows 10 is another AMD HD series like windows 7 (windows 7 do not support D3D12)
    3. Qt Quick
    4. No


  • 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 version

    Download

    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 got the same problem on both of two Windows 7 computers. Neither debug nor release build is working.

    Unfortunately, Cinohee's solution didn't work for me either. Since this is marked as Solved, I probably should create another thread :(



  • 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.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.