Qt6 topics merged with General

Procedure entry point libstdc++-6.dll

  • Hello,

    I have been trying to build an application with the commands:
    qmake -config release and mingw32-make.
    The program builds without errors but produces the error The procedure entry point __gxx_personality_sj0 could not be located in the dynamic link library libstdc++-6.dll when I try to run it.
    I looked up on a few forums and they suggested copying libstdc++-6.dll from the mingw installation directory into the application directory but I still get the same error.
    Does anyone know how to get round this.

  • Hi, you probably have more than one libstdc++-6.dll on your PC.

    To see which one you should copy into your app directory, download "Dependency Walker":http://www.dependencywalker.com/ and open each of the libstdc++-6.dlls you find with it.
    Look in the right middle window, you'll find all exported symbols (header is "E Ordinal Hint Function") easiest is to click on Function to sort them alphabetically, either it will be __gxx_personality_v0 or __gxx_personality_sj0.

    If you can't find any libstdc++-6.dll with the __gxx_personality_sj0 exported, try deleting the build directory and recompile/rebuild.

  • This might also happen if one of your DLLs wants one version of libstdc++-6.dll while other DLLs or you executable wants another.

    In this case, even if you supply the correct libstdc++-6.dll, you are still going to get errors. This might happen if you multiple Qt installations or if you are using a different version of MinGW than the one that was used to compile Qt.

    What version of Qt are you using?
    Have you compiled Qt yourself?
    Are you using MinGW supplied by Qt or did you install your own version?
    If you did install MinGW, what version is it?

Log in to reply