2

c++MINGW & CODEBLOCKS でプログラムを実行しようとすると、次のエラーが表示されます

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

http://i50.tinypic.com/256wgfd.png

これは私が使用している現在の設定の写真です。私はG++gccではなく使用しています

http://i49.tinypic.com/2z8cg8n.png

ノート :

  1. パスにMINGWのパスを設定しました(環境変数)
  2. 独自のMingwに付属するQT SDKをダウンロードしたため、このエラーが発生しました
  3. CodeblocksとMINGWの両方を数回再インストールしました。
  4. パスとシステム変数の両方が、MinGW の bin ディレクトリのインストール場所を指すように設定されています。

このエラーを解決するにはどうすればよいですか? コードブロックとqtの両方を使いたい

4

1 に答える 1

1

Qt 独自の MinGWPATHも追加したようです。で最初に見つかったものが優先されPATHます。したがって、元のスタンドアロン MinGW ディストリビューションの前に Qt の MinGW を追加したようですPATH

元の MinGW ディストリビューションでアプリケーションをコンパイルしたようですが、Qt のものをインストールしたため、元の MinGW ディストリビューションのものをロードする必要があるのに、アプリケーションが間違ったlibstdcc++-6.dllもの (つまり、Qt の MinGW のもの) をロードしています。 .

libstdcc++-6.dllバージョンが異なるため、動的ライブラリ ( など) のレイアウトが異なるため、開発に使用するものを選択する必要があります。

したがって、アプリケーションを今すぐ適切に実行したい場合は、元の MinGW をPATHQt の MinGW の前に配置してください。

Qt で開発を開始したい場合 (ダウンロードしたので、これは正しいと思います)、決定する 2 つのオプションがあります。

  1. Qt のビルトイン ディストリビューションではなく、元の MinGW ディストリビューションを使用して Qt アプリケーションを構築したい場合。たとえば、私はそれが好きです。つまり、Qt のビルトイン MinGW は使用したことがありません。これは非常に古く、64 ビット Windows ターゲットをサポートしていないためです。そのためには、元の MinGW ディストリビューションを使用して Qt 自体をソースからビルドする必要があります。

  2. 気にしない (またはソースから Qt をビルドするのが面倒な) 場合は、Qt に組み込まれている MinGW を一般的な開発に使用し、元の MinGW ディストリビューションをまったく削除することをお勧めします。

注:私が強調しようとしていたのは、これら 2 つの MinGW ディストリビューションを混在させることはできないということです。ええと、それは実際には真実ではありません。もちろん、いつ、どのようにそれを行うことができるかを正確に知っていれば可能ですが、それにはリンケージプロセスとそれに関連する多くの落とし穴についての深い知識が必要です。 (間違っていたらごめんなさい)。ただし、それでも 100% 安全というわけではなく、奇妙なバグやクラッシュが発生する可能性があります。だからこそ、これらの頭痛を避けるために、それらを混ぜないでください.

于 2013-04-12T12:17:37.013 に答える