私は、C++プロジェクトをコンパイルする最も効果的な手段を検討しようとしています。私はJavaのようなより管理された言語に固執するので、CMakeファイルはちょっと鈍いです。ライブラリとしてコンパイルするには?
私の主な問題は、ライブラリとして何をコンパイルするのかと、どうすれば一緒にコンパイルできますか?私は、私のプログラムの中で、ヘッダー付きのさまざまなファイルでさまざまなクラスの主な機能を持っています。これらのファイルを一緒に扱う最も一般的な方法は何ですか?メイン関数をクラスとは別にコンパイルしてリンクしなければならないのですか、それともライブラリのために少し小さいにもかかわらず共有ライブラリでなければなりませんか?
主に、一緒にコンパイルする必要があるもの、簡単にリンクするもの、そしてこのすべての仕組みの標準/ベストプラクティスをより明確に説明する人のための一般的なガイドラインを探しています。
私は、コンパイラがヘッダーファイルとソースファイルをオブジェクトファイルに変換し、それらをバイナリとして結合する必要があることを理解しています。私はバイナリに入るべきものにちょうど混乱しています。
他のプロセスでも必要なメソッドがある場合は、それらをライブラリに入れる方がよいでしょう。単一のバイナリのみをデプロイする場合は、ライブラリを静的にしますが、バイナリサイズが大きくなります。 – VivekD
疑いがあります:ライブラリをまったく使用しないでください。プロジェクトが成長すると、コードをライブラリとバイナリに分割することができます。 – usr1234567
Javaで実行不可能なjarを使用するのとほぼ同じ場合に、ライブラリを使用します。 – user4581301