1

私は共有ライブラリ プロジェクトのメンテナーになりました。ライブラリはいくつかのモジュールに分割され、それぞれが静的ライブラリとしてコンパイルされてからリンクされます。Eclipse は IDE として使用され、コードは SVN サーバーに保存されます。これまで、ビルド プロセスは手動で処理されていました。つまり、ライブラリをビルドし、すべての .a と .h を共有フォルダーに移動してから、共有ライブラリをビルドしていました。コードは、Linux、ARM、および Windows 用にコンパイルする必要があります。

問題は、より良いテスト (複数のテストと単純なプログラムの例、.cpp ファイルを 1 つだけmain) とモジュール間コード共有 (モジュール A と B の両方が C を使用しますが、 AとBを接続したくありません)。これにより、依存関係ツリーがより複雑になり、手動で処理するのが難しくなります。また、依存プロジェクトの異なるバージョンにリンクする可能性がある、1 つのプロジェクトのより多くの構成を構築できる必要もあります。

コードをどのように編成し、開発環境をセットアップしますか?

編集:DEから必要な具体的なもの:

  1. GUI を備えた IDE (私は vim と shell が好きですが、他のものは好きではありません)
  2. 個別のプロジェクト、それぞれ作成する静的ライブラリ、インクルードするヘッダーのセット、およびサンプル プログラム
  3. プロジェクトごとに異なる構成、異なるバージョンおよび/または依存関係の構成をリンク/含める
  4. コード補完と SVN のサポート
4

2 に答える 2

0

というわけでとりあえず解決。Poolというフォルダを作成しました。ディレクトリ ツリー:

プール
 - 株式会社
    - 腕
      - proj1 公開ヘッダー ディレクトリ
      - proj2 公開ヘッダー ディレクトリ
      - proj3 公開ヘッダー ディレクトリ
    - リン
      - proj1 公開ヘッダー ディレクトリ
      - proj2 公開ヘッダー ディレクトリ
      - proj3 公開ヘッダー ディレクトリ
    - 勝つ
      - proj1 公開ヘッダー ディレクトリ
      - proj2 公開ヘッダー ディレクトリ
      - proj3 公開ヘッダー ディレクトリ
 -lib
    - 腕
      - libproj1.a
      - libproj2.a
      -libproj3.a
    - リン
      - libproj1.a
      - libproj2.a
      -libproj3.a
    - 勝つ
      - libproj1.a
      - libproj2.a
      -libproj3.a

ライブラリは、makefile を使用して自動的にここにコピーされます。ヘッダーを含む:

#include "proj1/someheader.h"

それをリンクする:

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

注: -lライブラリパラメータの順序に注意してください。

于 2011-09-04T12:50:28.030 に答える
0

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

于 2011-08-28T18:30:20.517 に答える