実際にヘッダーファイルとソースファイルを手動で追加せずに、別のプロジェクトでプロジェクトに存在する関数を使用する方法は?

visual-c++
実際にヘッダーファイルとソースファイルを手動で追加せずに、別のプロジェクトでプロジェクトに存在する関数を使用する方法は?

VC ++プロジェクトにVisual Studio 6.0を使用しています。 ワークスペースには約38のプロジェクトが含まれています。 Xプロジェクトなど、プロジェクトの1つに存在する関数を使用する必要があります…​ 別のプロジェクトではYと言います。

1つの方法は、プロジェクトXにあるすべての.cppファイルと.hファイルをプロジェクトYに追加することです。 これはうまくいきます。 しかし、実際にファイルを物理的に追加することなく、プロジェクトXのすべてのファイルをプロジェクトYに含めることができるソリューションを探しています。 これを行うのに役立つ何らかの種類の設定が必要です。 XからYに存在するすべての関連DLLおよび.libファイルを含めてみましたが、実行するとエラーが発生します:未解決の外部シンボル “public:virtual__ blah blah …​

  0  0


ベストアンサー

プロジェクトXの機能をプロジェクトYで使用する場合、プロジェクトXは一種のライブラリ(静的ライブラリまたはDLL)である必要があります。 そのためには、

  • プロジェクトYのインクルード検索パスを変更して、
    プロジェクトXのヘッダーファイルが存在するディレクトリ。

  • プロジェクトのリンカ「追加ライブラリ」にライブラリ「X.lib」を追加します

    1. Xが_DLL_プロジェクトである場合、 `X.lib`インポートライブラリが追加されます。Xが_LIB_プロジェクトである場合、プロジェクト出力はすぐにプロジェクトYに追加されるX.libです。

後者の手順は、ワークスペースで「プロジェクトの依存関係」として定義できます。 しかし、リンカー設定でこれを行うことをお勧めします。

プロジェクトYに.cppファイルを追加するのは悪い考えです。 プロジェクトXは、そのファイルをコンパイルするように設計されています。

Edit: XがDLLプロジェクトの場合、使用するhttps://stackoverflow.com/questions/124549/dll-information [シンボルをエクスポート]する必要があります。

0


使用するヘッダーファイル(x.h)を含むパスを追加します

Project->Settings->C/C++->Category(Preprocessor)->Additional Include directories

次に、使用するプロジェクトの.libファイルを含むパス(x.lib)を追加します

Project->Settings->Linker->Category(Input)->Additional Library path

最後に、使用したいライブラリの名前(x.lib)を入力します

Project->Settings->Linker->Category(General)->Object/library modules

それからちょうどしなさい

#include

プロジェクトYの新しいファイルの上部で、x.hのメソッドを使用する

0


タイトルとURLをコピーしました