尝试使用MINGW&amp ;;运行c++
程序时CODEBLOCKS我收到以下错误
The procedure entry point `_gxx_persopnality _v0` could not be located in the dynamic link library `libstdcc++-6.dll`
这是我正在使用的当前设置的图片。我使用的是G++
而非gcc
注意:
如何解决此错误?我想使用两个代码块和qt
答案 0 :(得分:1)
您似乎已将Qt自己的MinGW添加到PATH
中。优先权是PATH
中遇到的第一个优先权。因此,您似乎在PATH
中的原始独立MinGW发行版之前添加了Qt的MinGW。
您似乎已使用原始MinGW发行版编译了应用程序,然后您已经安装了Qt,因此您的应用程序现在加载了错误的libstdcc++-6.dll
(即来自Qt的MinGW的那个),而它应该从原来的MinGW发行版中加载一个。
您应该选择要用于开发的那个,因为它们具有不同的版本,因此它们的动态库(如libstdcc++-6.dll
)具有不同的布局。
因此,如果您只是希望您的应用程序现在正常运行 - 只需将原始MinGW放在PATH
之前Qt的那个。
如果你想用Qt开始开发(自从你下载之后我怀疑是真的),那么你有两个选择来决定:
您希望继续使用原始的MinGW发行版并构建Qt 使用它的应用程序,而不是Qt内置的应用程序。对于 例如,我喜欢这样,即我从不使用QG内置的MinGW 因为它非常过时,不支持64位Windows 目标。要做到这一点,你必须使用源代码来构建Qt 你最初的MinGW发行版。
你不关心(或者懒得从源代码构建Qt),那么你就是 更好地使用Qt内置的MinGW进行开发 并且可能会删除原来的MinGW发行版。
注意:我想强调的是你不能混合这两个MinGW发行版。嗯,这实际上并不是真的,当然你可以知道你何时可以做到这一点以及如何做,但这需要深入了解联系过程和与之相关的众多陷阱,我想你还没有, (对不起,如果我错了)。然而,即使这样,你也不是100%安全,仍然可以遇到奇怪的错误和崩溃。这就是为什么,为了避免这些麻烦,只是不要混合它们。