web-dev-qa-db-ja.com

プロシージャエントリポイント__gxx_personality_v0が見つかりませんでした

編集者のメモ:「プロシージャエラーポイント_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_がダイナミックリンクライブラリlibstdc++-6.dllに見つかりませんでした」に類似したエラーメッセージには同じ原因があり、同じ解決策が適用されます。


WindowsでIrrlicht C++コンソールアプリケーションを実行したい場合、このエラーが発生し続けます。

the procedure entry point __gxx_personality_v0 could not be located in the dynamic link library libstdc++-6.dll

CodeGWs v12.11とMinGWおよびIrrlicht v1.8エンジンを使用しています。正しく設定しました。私のコンピューターには、MinGWと共にインストールされたQtもあります。競合がある可能性はありますか?

これはソースコードです:

#include <irrlicht.h>

using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;

int main() {
    IrrlichtDevice *device = createDevice( video::EDT_OPENGL);

    if (!device)
        return 1;

    IVideoDriver* driver = device->getVideoDriver();
    ISceneManager* smgr = device->getSceneManager();
    IGUIEnvironment* guienv = device->getGUIEnvironment();

    guienv->addStaticText(L"Hello World", core::recti(10, 10, 100, 30));
    device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo");

    while(device->run()) {
        driver->beginScene(true, true, SColor(250, 190, 1, 2));
        smgr->drawAll();
        guienv->drawAll();
        driver->endScene();
    }

    device->drop();
    return 0;
}

コンパイラをC:\CodeBlocks\MinGWに設定しました。すべてのファイル([設定]に表示されるものがあります)は、make.exeを除くbinの下にあります。それは正常ですか?

[自動検出]ボタンも上のパスを提案します。

30
Niklas

私もこの問題を抱えていました。これは私のためにそれを修正しました:

  1. MinGWフォルダーに移動します(C:\ MinGWでなければなりません)
  2. Binフォルダーを開きます。
  3. Libstdc ++-6.dllというファイルがあるはずです
  4. これを実行可能ファイルと同じディレクトリにコピーします。

それはうまくいくはずです...

54
user2947761

これが発生する理由は、libstdc++-6.dllWINDOWS\System32ディレクトリ(またはPATHで見つけることができる他の場所)。特に、異なるバージョンのMingWを使用する場合。したがって、解決策は、PATH変数を変更して、MingW\binディレクトリはWindowsシステムディレクトリの前にあります。既存のバージョンを新しいバージョンに置き換えるか、dllを実行可能なフォルダーにコピーします。

15
Devolus

私のケースでこれを分析したとき、システムパス構成にli​​bstdc ++-6.dllのバージョンがさらに2つあることに気付きました。 1つはmingw64にあり、もう1つはpostgresにあります。

問題は、それらが同じではなく、サイズも異なることです。

私の解決策は簡単です:
postgresのバージョンをmingw64バージョンより下に移動します。そして、それは完全に機能します。

1
Cao Phan Thanh

mingw\binにあるlibstdc ++-6.dllをwindows\system32にコピーしてください

0
taki