【问题标题】:gxx personality not found CODEBLOCKS未找到 gxx 个性代码块
【发布时间】:2023-03-16 21:15:02
【问题描述】:

在尝试使用 MINGW 和 CODEBLOCKS 运行 c++ 程序时,我收到以下错误

The procedure entry point `_gxx_persopnality _v0` could not be located in the dynamic link library `libstdcc++-6.dll`

这是我正在使用的当前设置的图片。我使用的是G++ 而不是 gcc

注意:

  1. 我已经在我的路径中设置了MINGW的路径(环境变量)
  2. 由于我下载了带有自己的 Mingw 的 QT SDK,因此出现此错误
  3. 多次重新安装 Codeblocks 和 MINGW。
  4. 我的路径和系统变量都设置为指向 MinGW 的 bin 目录的安装位置。

如何解决此错误?我想同时使用代码块和 qt

【问题讨论】:

    标签: qt mingw codeblocks libstdc++


    【解决方案1】:

    您似乎也将 Qt 自己的 MinGW 添加到 PATH 中。优先级是在PATH 中遇到的第一个。因此,您似乎在 PATH 中的原始独立 MinGW 发行版之前添加了 Qt 的 MinGW。

    您似乎已经使用原始 MinGW 发行版编译了您的应用程序,然后您安装了 Qt 的一个,因此您的应用程序现在加载了错误的 libstdcc++-6.dll(即来自 Qt 的 MinGW 的那个),而它应该加载一个来自您的原始 MinGW 发行版。

    您应该选择要用于开发的那个,因为它们有不同的版本,因此它们的动态库(如libstdcc++-6.dll)有不同的布局。

    因此,如果您只是希望您的应用程序现在可以正常运行 - 只需将原始 MinGW 放在 Qt 之前的 PATH 中即可。

    如果您想使用 Qt 开始开发(我怀疑这是真的,因为您已经下载了它),那么您有 2 个选项可供选择:

    1. 您希望保留原来的 MinGW 发行版并构建 Qt 应用程序也可以使用它,而不是使用 Qt 的内置功能。为了 例如,我确实喜欢那样,即我从不使用 Qt 内置在 MinGW 因为它非常过时并且不支持 64 位 Windows 目标。为此,您必须使用从源代码构建 Qt 本身 你原来的 MinGW 发行版。

    2. 你不在乎(或者懒得从源代码构建 Qt),那么你会 一般而言,更好地使用 Qt 内置的 MinGW 进行开发 并可能完全删除原始的 MinGW 发行版。

    注意:我想强调的是,您不能混合使用这 2 个 MinGW 发行版。好吧,这实际上不是真的,当然,如果您知道何时可以做到以及如何做到这一点,当然可以,但这需要深入了解链接过程以及与之相关的许多陷阱,我想您还没有(对不起,如果我错了)。然而,即便如此,您也不是 100% 安全,仍然会遇到奇怪的错误和崩溃。这就是为什么,为了避免这些令人头疼的问题,不要混合它们。

    【讨论】:

    • 好的,我更正了路径,一切都很好。今天我安装了 Visual Studio 2012(我的大学项目需要 OpenGL glut 库)。现在我再次面临同样的问题。我确保路径变量和系统变量都首先重定向到 c:/mingw/bin 目录。我还检查了 c:/mingw/bin 确实包含 libstdc++ dll 文件。现在我该怎么办?请帮忙!!!
    • 您必须打开另一个问题,并详细描述新问题。当前形式的当前问题已得到解答,因此,尝试在 cmets 中提出不同的问题(即值得作为单独问题打开的问题)不是一个好主意。因此,我建议不要混淆这个问题并创建新问题。我会调查您的新问题并尝试回答,但请务必描述所有细节。
    • 嗯,对不起。我不想向论坛发送太多相关问题的垃圾邮件。在其他论坛中,有人告诉我将与同一主题相关的所有问题保留在一个线程中。
    • 我发布了一个新问题,就像你问我的一样。我已重新接受您的回答作为可接受的回答。给您造成的任何不便,请原谅。 stackoverflow.com/questions/16149499/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多