the procedure entry point __gxx_personality_v0 could not be located
I had this problem as well. This fixed it for me:
- Go to your MinGW folder (should be C:\MinGW)
- Open the bin folder.
- There should be a file called libstdc++-6.dll
- Copy this into the same directory as your executable.
That should work...
The procedure entry point _gxx_personality_v0 could not be located in the dynamic link library libstdc++-6.dll
This is an ABI incompatibility. You are linking code built with two different toolchains (one with dw2 exception handling and one with sjlj).
Either rebuild everything with the same toolchain, or find yourself a matching toolchain:
- MinGW-w64 installer is located here. You can select various variants when you run it.
- Use MSYS2, which comes with a repository containing a variety of packages already compiled for you (including OpenCV). It comes with the pacman package manager (ported from Arch Linux). It provides a Unix shell environment for your convenience, but the toolchains can be used outside of the shell itself.
The procedure entry point_gxx_personality_sj0 could not be located in the dynamic link library c:\sfm\sfml\sfm-graphics-d-2.dll
Don't mix gcc exception models. Your environment probably uses Dwarf and now you want to use a library compiled with a GCC that uses SJLJ. Even if you get it to link it's likely to crash if there is any C++ code in there. Best is to use SFML compiled with the same compiler the rest of your environment uses, or even build it from source.
_Gxx_Personality_v0 error with Codeblocks
The installation of Visual Studio alone can in no way cause errors like that. Something is still wrong with your MinGW distribution. What I find suspicious is the name of the library libstdcc++-6.dll
. For instance, in my MinGW-w64 based on GCC 4.7.2 the library is named libstdc++-6.dll
, and that's the correct name, it was there for years.
What I can suggest is to look into some other MinGW distribution. For example, you could have tried MinGW-w64. It already offers the bleeding-edge GCC 4.8.0. What's more it offers all the possible variations:
- 64-bit targets;
- 32-bit targets;
- Win32 threads;
- POSIX threads;
- SEH exceptions;
- DWARF exceptions;
- SJLJ exceptions.
so your choice is quite flexible. To learn more about all these variations (as this is very important stuff to know) I encourage you to take a look at this article.
Related Topics
Variable Initialization in C++
Displaying the #Include Hierarchy For a C++ File in Visual Studio
How to Compile a 64-Bit Application Using Visual C++ 2010 Express
Serializing a Class Which Contains a Std::String
How to Take the Address of a Function Defined in Standard Library
If (Cin ≫≫ X) - Why Can You Use That Condition
Downcasting Using the 'Static_Cast' in C++
Virtual Assignment Operator C++
Why Does Std::Cout Output Disappear Completely After Null Is Sent to It
Selectively Disable Gcc Warnings For Only Part of a Translation Unit
What Is the Partial Ordering Procedure in Template Deduction
Why Is Conversion from String Constant to 'Char*' Valid in C But Invalid in C++
Difference Between These (Bcondition == Null) and (Null==Bcondition)
How to Efficiently Perform Double/Int64 Conversions With Sse/Avx