質問: a.c_str(); return 0; } ``` ``` D:\~> g++ a.cpp D:\~> a.exe ``` コンパイルにエラーはありませんが、実行時に ``` プロシージャエントリポイント _ZNKSt7_cxx1112basic_stringlcSt11char_traitslcESalcEEE5c_strEv がダイナミックリンクライブラリ D:\~\a.exe から見つかりませんでした。 ``` というエラーメッセージが表示されます. コンパイラはMinGWのg++です。
回答: おそらく、g++付属のC++ライブラリ(libstdc++)が見つからない状況だと思います。MSYSのようなライブラリパスもきっちり通した環境で動作させる、libstdc++を実行ファイルと同じフォルダにコピーするなどの対策が必要となります。 なお、C言語の場合は、Windowsにあるmsvcrt.dllを使うようにコンパイルされるので、pthreadなどlibc外のものを使わない限りは心配しなくて大丈夫です。