異なるプロジェクトにあるクラスの使い方 – プログラミング – Home

異なるプロジェクトにあるクラスの使い方
 
通知
すべてクリア

異なるプロジェクトにあるクラスの使い方


りん
 りん
(@りん)
ゲスト
結合: 23年前
投稿: 28
Topic starter  

同じワークスペースにある、異なるプロジェクトのクラスを使う方法を探しています。
同じプロジェクト内であれば、使いたいクラスのファイル名をインクルードするだけで
いいと思うのですが、異なるプロジェクトの場合はどのようにしたらいいですか?
よろしくお願いします。

環境
VC 6.0
Windows 2000


引用解決済
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

1つのファイルを複数のプロジェクトに入れることができます。

メニューの[プロジェクト]-[プロジェクトへ追加]-[ファイル]で
他プロジェクトのファイルを追加してください。


返信引用
りん
 りん
(@りん)
ゲスト
結合: 23年前
投稿: 28
Topic starter  

>1つのファイルを複数のプロジェクトに入れることができます。

説明不足ですみません。
確かに、使いたいクラスのファイルを呼び出し元と同じプロジェクトに
追加していまえばいいのですが、
別のプロジェクトに置いたままそのクラスを使いたいのです。
よろしくお願いします。


返信引用
Joan
 Joan
(@Joan)
ゲスト
結合: 23年前
投稿: 42
 

インポートしたい方のクラスのあるフォルダを
オプションのディレクトリでインクルード"ソースファイルの
検索ディレクトリに加えれば

#include header.h

でも、呼び出せます。まぁ、ちょっと荒技かもしれないですが。


返信引用
小宮文雄
 小宮文雄
(@小宮文雄)
ゲスト
結合: 23年前
投稿: 8
 

dairygoodsさんのおっしゃる通り、そのまま一度ためしてみてはいかがですか。

>1つのファイルを複数のプロジェクトに入れることができます。

これは、ファイルを複数作るのではなくて、プロジェクトに登録するという意味です。
このため、特定のフォルダによく利用するファイルを置いて、複数のワークスペース
で利用することも可能です。


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

別のプロジェクトに追加してしまうと両方のプロジェクトから変更が効いてしまうので
それが好ましくない(管理は一元化したい)ということであれば、
参照したいプロジェクトの設定でC/C++というタブがありますから、
これのプリプロセッサというカテゴリのインクルードファイルのパスに
そのディレクトリのパスを追加します。出来れば、相対位置指定をした方が良いです。

「オプションのディレクトリでインクルード"ソースファイルの検索ディレクトリに加えれ
ば」
というのはやめた方が良いです。他のプロジェクトにも影響を及ぼしてしまいます。
ここに加えるのは、MSやサードパーティが提供しているライブラリを別のディレクトリに
インストールした時などに止めるべきで、プロジェクト依存するような設定をすべきでは
ありません。
できれば、特定のプロジェクトにしか関係しないような設定は全てプロジェクトの設定に
押し込めるべきでしょう。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> 別のプロジェクトに置いたままそのクラスを使いたいのです。

この方法が、まさに、
「別のプロジェクトにあるファイルをクラスを使いたいプロジェクトに追加する」
なのですが、この方法ではどのような問題があるとお考えですか?

インクルードファイルのパスを通しただけでは、
コンパイルはできますが、リンクできません。


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

ああ、その別のプロジェクトがライブラリになっていないと
私が紹介した方法では駄目ですね。
自分がそうするので思い込みで話してました。
実際の所、別のプロジェクトにあるクラスオブジェクトを使いたいというのは
どういう風な状態なのでしょうか?
別プロジェクトがライブラリになっているのか、
それとも単に別プロジェクトにあるクラスのみを流用したいだけなんでしょうか?


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

思い出したので追記。
同じくプロジェクトの設定にリンクタブがありますけれど、
このタブのインプットカテゴリにあるオブジェクト/ライブラリモジュールに
相対パスでそのオブジェクトを指定するれば、リンクも出来ますね。
私的には、他のプロジェクトでも使うような物は別に集めてライブラリにして
しまいますけれど。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました