0

基本的に、MFC アプリケーションに対していくつかの単体テストを実行する必要がある状況があります。

私は基本的に、MFC アプリケーションのコードでインスタンスを作成し、基本的にいくつかのアサーションなどを実行できるようにする必要がある Win32 コンソール アプリケーションにいくつかの gtest コードを持っています...

MFC ヘッダーを含む Win32 コンソール アプリケーションを作成しようとしました。次に、MFC アプリケーション クラスのヘッダー ファイルをインクルードしました。ただし、コンソール アプリケーションでインスタンスを作成しようとすると、 CWindowApplicationApp the_appリンク エラーが発生します。

これは、私のコンソール アプリケーションのソース コードの一部です。

CWindowApplicationApp the_app;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;

// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
    // TODO: change error code to suit your needs
    _tprintf(_T("Fatal Error: MFC initialization failed\n"));
    nRetCode = 1;
}
else
{

}

return nRetCode;
}

エラー LNK2019: 未解決の外部シンボル "public: __thiscall CWindowApplicationApp::CWindowApplicationApp(void)" (??0CWindowApplicationApp@@QAE@XZ) が関数 "void __cdecl `'the_app''(void) の動的イニシャライザ" で参照されています (??__Ethe_app @@YAXXZ)

何か助けはありますか?ヘッダーファイルのパスを含めました

4

2 に答える 2

0

あなたは間違った道を進んでいます。別のアプリケーション内にアプリケーションのインスタンスを作成することはできません。うまくいくのは、アプリケーションにいくつかのテスト コードを追加して再構築することです。

于 2013-11-05T21:36:18.040 に答える