g ++リンカーについての情報はすばらしいものですが、これは何よりも設計上の問題です。C++リンカーの設計に関する質問
私は次のような構造に埋め込まれた.cppファイルを持っている:
Main
Main/Utilities
Main/Utilities/Data
私がメインで、メインエントリポイント.cppファイルをコンパイルすると、私はすべての.cppは、任意のリンクされた.cppが今まで使用してファイルを指定する必要があります - これは5つのリンクされたファイルのような私のテストプロジェクトのためにうまくいきますが、このプロジェクトは非常に迅速に成長し、これは明らかに実行不可能です。これを回避する方法はありますか?これを引き起こしているのは何ですか?
「g ++ * .cpp」を使ってみましたが、まだ他のものをリンクさせたいと思っています。私は "g ++ main.cpp Utilities/other.cpp Utilities/Data/data.cpp"のようなことをしなければなりません。 other.cppはdata.cppを使い、main.cppはother.cppを使います。 other.cppをコンパイルするときは、前と同じようにdata.cppを指定する必要があります。
ご協力いただきありがとうございます。
あなたはいくつかの用語を混乱させていると思います。 'g ++'はC++コンパイラであり、リンカではありません。しかし、あなたの利益のために、適切な引数を使ってバックグラウンドで(ほとんどのUNIXシステムでは 'ld'となる)リンカを起動します。 –