1

私は共有ライブラリプロジェクトの管理者になっています。ライブラリはいくつかのモジュールに分割され、それぞれが静的ライブラリとしてコンパイルされ、次にリンクされます。 EclipseはIDEとして使用され、コードはSVNサーバーに保存されます。これまでのビルドプロセスは、ライブラリを手作りでビルドし、すべての.aと.hを共有フォルダに移動し、共有ライブラリを構築することによって行われました。 linux、ARM、windows用にコードをコンパイルする必要があります。C++プロジェクトの構成

問題は、より良いテスト(複数のテストとサンプルの簡単なプログラム、mainの1つの.cppファイル)とモジュール間コードの共有(モジュールAとモジュールの両方)を行うために、 BはCを使用しますが、AとBは接続したくありません)。これにより、より複雑な依存ツリーが生成され、手作業では扱いにくくなります。私はまた、あるプロジェクトのより多くの構成を構築できなければならず、おそらく異なるバージョンの従属プロジェクトにリンクする必要があります。

どのようにコードを整理し、開発環境を設定しますか?

編集:私はDEから必要な具体的な事柄:

  1. GUIとIDE(私はvimのシェルが好きではなく、他の人にはない)
  2. 別々のプロジェクトで、静的ライブラリを作成し、それぞれ、セット異なるバージョン及び/または依存性
  3. コード補完とSVN支持
の構成を含む/連結、プログラムを各プロジェクトの
  • 異なる構成を含み、例にヘッダの
  • +0

    [クロスプラットフォームのC++プロジェクトを開始する](http://stackoverflow.com/questions/3788769/getting-started-with-a-cross-platform-c-project)の可能な複製同様の質問もあります... – rubenvb

    +0

    rubenvb:他の人が何かについて質問していますが(Eclipseとvs2010の両方のコンパイル)、とにかくリンクに感謝 - Sconsを見てください –

    答えて

    0

    私は今のところそれを解決しました。プールというフォルダを作成しました。ディレクトリツリー:

     
    Pool 
    - inc 
        - arm 
         - proj1 public headers directory 
         - proj2 public headers directory 
         - proj3 public headers directory 
        - lin 
         - proj1 public headers directory 
         - proj2 public headers directory 
         - proj3 public headers directory 
        - win 
         - proj1 public headers directory 
         - proj2 public headers directory 
         - proj3 public headers directory 
    -lib 
        - arm 
         - libproj1.a 
         - libproj2.a 
         - libproj3.a 
        - lin 
         - libproj1.a 
         - libproj2.a 
         - libproj3.a 
        - win 
         - libproj1.a 
         - libproj2.a 
         - libproj3.a 
    

    ライブラリはmakefileを使用して自動的にここにコピーされます。それをリンク

    #include "proj1/someheader.h" 
    

    :ヘッダを含む

     
    -L${POOL}/lib/arm -lproj1 
    

    注:-l ライブラリパラメータの順序に注意します。

    0

    makeとMakefileは、特にautomakelibtoolと組み合わせて、このようなビルドおよびリンクジョブのために確立され、非常によく考えられた方法です。これらのツールは、SVNと、おそらくEclipseとも統合されています。

    +1

    EclipseのC++プロジェクトには2つのオプションがあります。最初に、Eclipseによってmakefileが生成されます。カスタムのものを含めることができますが、AFAIKは$ {CC}のようなvarialbesを使用しないので、ビルドのためのmakefileを書くことはかなりハッキリです。 2番目のオプションは純粋なユーザー提供のメークファイルです。これまで環境変数で設定を変更していましたが、ここではEclipseの機能(設定ごとのインクルードまたはライブラリリストの指定など)が失われています。 –

    +0

    プロジェクトをまったく公開したい場合は、Eclipse専用の機能をすべてMakefileにドロップし、ビルドの自動化ではなくコード編集のためにEclipseを使用してください。本当に。autotools(autoconfとautomake)は、必要なすべての設定オプションを提供します。テキストのみの編集や配布が可能です。特に、オープンソースプロジェクトの90%で使用されているデファクトスタンダードです。それにより、彼らは使用、理解、構築がはるかに容易になります。 – thiton

    +0

    私はそれを公開しません - それは大学によって維持されている大きなプロジェクトの一部です –

    関連する問題