0

この参照を機能させることができません。私のソリューションには2つのプロジェクトがあります。ラッパー ファサードとサーバー:

ここに画像の説明を入力

サーバー プロパティ ページ -> 構成プロパティ -> C/C++ -> 一般。

サーバープロジェクトに含めると、インテリジェンスが正しい.hファイルを見つけることができるため、機能しているようです。

ここに画像の説明を入力

問題は、Wrapper ファサードからクラスを開始しようとすると解決できない LINK 問題が発生することです。画像のように見えます。

ここに画像の説明を入力

それを手伝ってもらえますか?

ブラジル

4

1 に答える 1

1

リンカー エラーは、SOCK_Stream クラスが正しい dllimport/dllexport マクロでタグ付けされていないことを示しています。

問題を解決するには多くの方法があります。これはあくまでも基本的な方法です

1) SOCK_Stream クラス ヘッダーにマクロを追加します。

#ifdef BUILDING_SOCK_STREAM
    #define SOCK_STREAM_DLL  __declspec(dllexport)
#else
    #define SOCK_STREAM_DLL  __declspec(dllimport)
#endif 

2) SOCK_STREAM_DLL マクロで SOCK_Stream クラスにタグを付けます

class SOCK_STREAM_DLL SOCK_Stream {
...
};

3) WrapperFacade プロジェクトで BUILDING_SOCK_STREAM シンボルを定義します (構成プロパティ -> C/C++ -> プリプロセッサ -> プリプロセッサ定義)。

目標は、WrapperFacade を取得して、サーバー プロジェクトからリンクするシンボルをエクスポートすることです。サーバーで BUILDING_SOCK_STREAM を定義しないと、マクロはデフォルトで __declspec(dllimport) になります。

于 2013-08-29T21:05:40.147 に答える