• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MinGWのg++で分割コンパイルエラー)

MinGWのg++で分割コンパイルエラー

このQ&Aのポイント
  • MinGW環境でC++の勉強を始めました。ソースファイルを一括してコンパイルすると問題ないのですが、個別にコンパイルしようとするとエラーが出ます。解決策を教えてください。
  • g++を使用してMinGW環境でC++のコンパイルをしていますが、個別にコンパイルするとエラーが発生します。どうすれば解決できるでしょうか?
  • MinGWのg++を使用してC++のコンパイルを行っていますが、個別にコンパイルするとエラーが発生します。原因と解決策を教えてください。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

コンパイルの各段階で、どこまで実行するか、は -o の出力ファイル名はまったく関係なく、オプションの有無で決まります。 もともとのgccのターゲットであるunix系OSでは、実行ファイルに決まった拡張子なんてありませんから。 main.o ってファイル名でも実行ファイルになります。 実行制御関係のオプションが無ければ、ソースコードからリンクして実行ファイルにするまでの一連の作業が実行されます。 分割コンパイルでオブジェクトファイルまでコンパイルを実行するなら -c (小文字)オプションを付けます。 g++ -Wl,--enable-auto-import -c main.cpp # 今回の場合は、 main.cpp → main.oができるので、-oはあってもなくてもOK

siffon9
質問者

お礼

教えて頂いたとおり -cをつけて問題なくmain.oを作成、最終的に実行ファイルを作成することができました。 gcc についての挙動についても理解を深めることができました。 本当にありがとうございました。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

そりゃぁリンクまでしようとしたらエラーになりますわなぁ.

siffon9
質問者

お礼

ご回答ありがとうございます。 ですが、知識が乏しいために仰られた内容が理解できません。 もう少しわかりやすくご説明いただければ幸いです。 ソースファイルを個別にコンパイルして.oファイル?を作成して それらを最終的にくっつけて一つの実行ファイルにするには 具体的にどの様な手法をとれば良いでしょうか?

関連するQ&A