- PR -

共通ヘッダーファイルの配置

1
投稿者投稿内容
さく
ベテラン
会議室デビュー日: 2004/06/11
投稿数: 74
投稿日時: 2007-11-14 22:44
こんばんは。件名で、初歩的な質問ですが質問させてください。

UNIXにある既存のソースを,Subversionでファイル一元管理(履歴管理)を検討しています。
またWindows上で、編集が行えるように、Eclipseを使ったプロジェクト管理も合わせて検討しています。(コンパイラは、cygwinのgccです。)

Eclipseによるプロジェクト管理は、アーカイブ単位でプロジェクトを
生成しようと考えています。

libAAA
/ src / aaa001.cpp
aaa002.cpp
  / libAAA.a

libBBB
/ src / bbb001.cpp
bbb002.cpp
/ libBBB.a

ここで、どうすれば、よいのか分からず悩んでいる事があります。

libAAA.a と libBBB.aを生成する時に、共通で読んでいるヘッダーファイルが
あります(#define などを定義しているファイル)。

libAAA と libBBBのプロジェクトに、ヘッダーを配置しました。

libAAA
/ src / aaa001.cpp
aaa002.cpp
/inc / common.h ← 同じファイルを配置
  / libAAA.a

libBBB
/ src / bbb001.cpp
bbb002.cpp
/inc / common.h ← 同じファイルを配置
/ libBBB.a


ここで問題になるのは、同じヘッダーファイルを、2つもってしまう事です。

一つにしたいのですが、アーカイブ(静的)プロジェクトの場合、
ヘッダーファイルは、どこに配置するのが正しいのでしょうか?

(補足)その他に、やってみた事を書いておきます。

/inc / common.h

libAAA
/ src / aaa001.cpp
aaa002.cpp
  / libAAA.a

libBBB
/ src / bbb001.cpp
bbb002.cpp
/ libBBB.a

共通ヘッダーファイルを、プロジェクト外に配置してみました。
この場合だと、Eclipseのヘッダー定義が、絶対パスしか指定できません。
(EclipseでC/C++プロジェクトは今回が初めてなので、理解が足りていない部分があります。)

(※)Eclipseから プロジェクト名を右クリック→「プロパティ」→
プロパティ画面の、「GCC C++コンパイラ」→「ディレクトリ」で
ヘッダーのパスを指定する箇所があります。
プロジェクト内にあれば、ワークスペースボタンで、相対パスを指定可能できます。
プロジェクト外であれば、ファイルシステムボタンで、絶対パスを指定します。

ここで、問題になるのは、絶対パスだと、
Subversionで一元管理するので、環境設定が、開発者によって異なる事が
想定されます。開発者の環境次第では、ビルドができない状況ができと
考えています。こちらも、何か間違い・勘違いがあれば教示ください。

以上、よろしくお願いします。

1

スキルアップ/キャリアアップ(JOB@IT)