c++ - Awesomium 1.7RC2 与 VS11

标签 c++ visual-studio-2012 awesomium

我有一个小问题,我不知道如何解决(很遗憾)。

我想编译 Awesomium 1.7RC2 SDK 的示例项目,它在 vs10 上运行良好,但在 vs11 上我确实遇到了一些错误。

这些是错误:

http://pastebin.com/6RdUffve

它们是由这些代码行引起的:

method_dispatcher_.Bind(app_object,
WSLit("SayHello"),
&Application::OnSayHello);
method_dispatcher_.Bind(app_object,
WSLit("Exit"),
&Application::OnExit);

method_dispatcher_.BindWithRetval(app_object,
WSLit("GetSecretMessage"),
&Application::OnGetSecretMessage);

调度器类代码:

标题:http://pastebin.com/ktTEuQ4T

来源:http://pastebin.com/FTDHQzJ9

我希望有人能帮助我:)

最佳答案

这似乎是由VS2012中的一个错误引起的,其中std::function不会隐式地将成员函数指针转换为函数指针。这个例子,根据 Bjarne Stroustroups C++11 FAQ 应该工作,在我的 VS2012 中抛出同样的错误:

struct X {
    int foo(int);
};

function<int (X*, int)> f;
f = &X::foo;        // pointer to member

X x;
int v = f(&x, 5);   // call X::foo() for x with 5

你可以通过创建像这样的静态函数来解决这个问题

void StaticOnSayHello(Application* app, Awesomium::WebView* caller, const Awesomium::JSArray &args) {
    app->OnSayHello(caller, args);
}

等等,并将它们作为 method_dispatcher::Bind 的第三个参数。

关于c++ - Awesomium 1.7RC2 与 VS11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11937908/

相关文章:

virtualbox - Awesomium 在 Virtualbox 下不起作用

c# - 我可以在 Web 应用程序中使用 Awesomeium 吗?

c++ - Visual Studio 2012 C++ 中的错误 2146

c# - NaoQi 和 Leap 问题 : An unhandled exception of type 'System.BadImageFormatException' . .. 并且无法加载文件或程序集

vb.net - 如何让按钮背景透明?

java - 运行 berkelium-java

c++ - 语法帮助。模板函数对象中的模板运算符()

c++ - Qt Creator 我无法在小部件属性面板中更改/找到 sizeHint

c++ - 此代码有什么问题?它永无止境(二叉树的顶 View )

c++ - 将不同类型的对象存储在一个容器中