-2

C++ コードを awesomium 機能と統合しようとしていますが、多くのエラーが発生します。VisualStudio は、私の WebCore 要素の定義/宣言を気に入らないようです。http://wiki.awesomium.com/tutorials/tutorial-1-hello-awesomium.htmlからコピーしました。これまでコードを単純化しましたが、それでもエラーが発生します。

SimpleClass.cpp:

#include <Awesomium/WebCore.h>
include "SimpleClass.h"
using namespace Awesomium;

CSimpleClass::CSimpleClass(){   
    WebCore *web_core = WebCore::Initialize(WebConfig());
}
CSimpleClass::~CSimpleClass(){
}

SimpleClass.h:

class CSimpleClass
{
public:
    CSimpleClass(void);
    ~CSimpleClass(void);
    WebCore *web_core;
};

ありがとう!

4

2 に答える 2

3

SimpleClass.hヘッダーを次のように変更します。

#pragma once
#ifndef SIMPLECLASS_H
#define SIMPLECLASS_H

// forward declarations
namespace Awesomium{
class WebCore;
}

class CSimpleClass
{
public:
    CSimpleClass(void);
    ~CSimpleClass(void);
    Awesomium::WebCore *web_core;
};

#endif /* SIMPLECLASS_H */

WebCoreこのようにして、名前空間に型が存在することをコンパイラに通知し、Awesoniumそれを使用してメンバ ポインタを宣言できますCSimpleClass::web_core

于 2013-02-22T12:04:46.927 に答える
0

Awesomium潜在的な依存関係の問題はさておき、問題は、名前空間を使用する必要があることをヘッダーが認識していないことです。

以下を実行して、ヘッダーで *web_core の定義を (推奨) 明示します

class CSimpleClass
{
public:
    CSimpleClass(void);
    ~CSimpleClass(void);
    Awesomium::WebCore *web_core; //note the use of Awesomium::
};

または (本当に必要な場合) using ディレクティブの後にヘッダーを含めます

#include <Awesomium/WebCore.h>
using namespace Awesomium;
#include "SimpleClass.h"
于 2013-02-22T11:51:16.783 に答える