• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:c++のビルドエラーについて)

c++のビルドエラーについて

このQ&Aのポイント
  • c++のビルドエラーについて質問させていただきます。
  • 書いたソースコードでhello worldを出力しようとしていますが、エラーが発生しています。
  • コンパイルエラーが発生し、エラーメッセージにはundefined referenceというメッセージが含まれています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

エラーメッセージを見ると、Linkerエラーとして出力されています。これはコンパイル自体は成功しているものの、リンク時にエラーが起きているということです。 おそらく、コンパイルに必要なライブラリがリンクされていないか、またはパスが設定されていない可能性があります。 以下の手順で、解決方法を試してみてください。 1. コンパイルオプションに "-std=c++11" を追加してください。例えば、以下のようになります。 g++ -std=c++11 hello.cpp -o hello 2. MinGW-w64 を再インストールすることをお勧めします。再インストール後、PATH環境変数を設定してください。 3. 環境変数に "MINGW_HOME" を追加し、値に MinGW-w64 のインストール先ディレクトリを指定してください。 4. Visual Studio Code のターミナルを再起動して、再度コンパイルを試してください。 それでもうまくいかない場合は、MinGW-w64 の公式サイトから最新バージョンのインストーラーをダウンロードして、再度インストールすることをお勧めします。 以上の手順で解決できない場合は、コンパイルエラーの原因が別のものかもしれません。その場合は、エラーメッセージの内容をよく確認してください。

brotherm
質問者

補足

回答ありがとうございます。 vscodeのターミナルとコマンドプロンプトで、コンパイルオプションをつけて手動でコンパイルしたらエラーもなくビルドできましたが、vscodeでf5キーを押してコンパイルしようとするとエラーが出てしまいます。 コントロールパネルより、再度パスの設定も行ってみましたが、症状は変わらずでした。 vscode側でなにか設定するところがあったのでしょうか。

その他の回答 (2)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

コンソールアプリになっていないからでは? プロジェクトのプロパティで、 >リンカー>システム>サブシステムを見てください。 コンソールになっていない気がします。 なっていなければコンソールにして再ビルドして下さい。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

コンパイル用のコマンドはどうされました? エラーを見た感じリンクエラーぽいので必用なライブラリをリンク指定されていない気がするのですけど。

brotherm
質問者

補足

無事解決いたしました。 やったこととしては ・mingw64を再インストール→環境変数に設定 ・c++のディレクトリを一度削除し、もう一度構成を設定。 ・規定のビルドタスクをcpp.exeに変更→解決。 c言語を書いていたときの、gcc.exeを規定にしていたようで、おそらくそれが原因ではないかと思っております。 回答ありがとうございました。

関連するQ&A