アプリ版:「スタンプのみでお礼する」機能のリリースについて

Hello world(C++)を

コンソールで

>>path=C:\MinGW\bin;%PATH%
>>g++ hello.cpp -o hello
>>hello.exe

これは、実行できます。
しかし、Hello.exe をマウスでクリックするとERRORとなります。どうすればいいのでしょうか?
以下、ERRORです。

libgcc s dw2-1.dll が見つからなかったため、このアプリケーションを開始できませんでした。
アプリケーションをインストールし直すとこの問題は解決される場合があります。

インストールし直しましたが解決しませんでした。
これは、どうもパスを通してない時と、同じERRORなので、あやしいのは、コンパイル時の
リンクとかパスだと勝手に考えています。

ご教授よろしくおねがいします。

A 回答 (4件)

普通は DLLを一箇所に登録しておいて使うようにします


そうしないと 色々なバージョンのDLLでハードディスクを占領してしまうことにもなりますので
また 意図しないバージョンを読み込んで 不具合が生じるなどの弊害もあります

開発したソフトを別のハード(PC)で動作させるには 補足されたようにlibgcc_s_dw2-1.dll をどこかに登録する必要があります
使うライブラリ(関数など)によっては別のDLLも必要になる可能性もあります

これが 実行環境で標準に搭載されているものならばいいのですが 今回のように別途必要になるのであればこれを所定の位置にインストールするといった作業が必要になります

現行に Windows XP/Vista/7 などは DLL関係を C:\Widnows\System32 に入れる場合が多いようです
MinGW自体は使ってないので どのような配布方法が可能なのか存じません

あと WindowsのEXEは起動時に必要なDLLを探す手順も決まっています
この中の1つに 環境変数の Pathの設定にしたがって探すといった工程があります
先の回答は この手順を実行できるようにする手助けです
    • good
    • 0
この回答へのお礼

何度もご回答ありがとうございます。

やはり、インストールしないといけないんですね。。。

詳しく書いてくれて勉強になりました。

ありがとう。

お礼日時:2011/01/29 09:41

Windowsの環境変数のPathに C:\MinGW\Bin が設定されていないだけなのでは ・・・



単純にコマンドプロンプト(Windowsの標準の方ですが)を起動して
Hello.exeがあるディレクトリをカレントにしてから
Hello[Enter]とした場合はどうなんでしょう?

同じ症状なら
マイコンピュータのプロパティを表示
詳細設定タブ > 下部にある『環境変数』をクリック
上部のユーザー用か下部のシステム用の path設定の冒頭に 『C:\MinGW\Bin;』を追加してみましょう
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

上記の方法で、一応、libgcc_s_dw2-1.dllはいらなくなりました。ありがとうございます。

なのですが、他のPCで実行するには、libgcc_s_dw2-1.dllがいりますよね?

これは、そういうものなんですか?

初歩的な質問ですみません。。。

お礼日時:2011/01/27 18:38

Windows vista SP2 MinGW gcc 4.5.1では再現しませんでした。


C:\MinGW\binにg++.exeがあるかどうか確認してみてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

確認、までしてくださってありがとうございます。

>>C:\MinGW\binにg++.exeがあるかどうか確認してみてください。

g++ありました。

環境は、WindowsXP SP3 mingw-get-inst-20101030

バージョンは、わからないので、ファイル名を乗せときます。

お礼日時:2011/01/27 00:49

Dwarf2 の機能を使っている時に起きる現象の様です。



Dwarf2 を使用している場合には「libgcc_s_dw2-1.dll」がPATHの通っている
ディレクトリまたは、実行時のディレクトリにある必要があるみたい。

「libgcc_s_dw2-1.dll」はMinGWのbinディレクトリにあると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

ディレクトリにlibgcc_s_dw2-1.dll を置きマウスをクリックすると正常に動作しました。

助かります。

お礼日時:2011/01/27 00:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!