Wt C ++ root()返回Null

时间:2016-07-11 16:33:53

标签: c++ wt

我已经将Wt 3.3.1二进制文件安装到Windows 10并将其与VS2015一起使用。我还安装了1.53。每次我尝试运行以下示例时,root()函数总是返回0xFFFFFFFF而我无法使用root():

WebApplication.cpp:

#include "stdafx.h"
#include "application.h"

HelloApplication::HelloApplication(const WEnvironment& env)
    : WApplication(env)
{
    setTitle("Hello world");
    root()->addWidget(new WText("Hey guys, welcome back!"));
}

WApplication *createApplication(const WEnvironment& env)
{
    return new HelloApplication(env);
}

application.h:

#include "stdafx.h"
#include <Wt/WApplication>
#include <Wt/WBreak>
#include <Wt/WContainerWidget>
#include <Wt/WLineEdit>
#include <Wt/WPushButton>
#include <Wt/WText>
#include <Wt/WServer>
#include <Wt/WException>

// c++0x only, for std::bind
// #include <functional>

using namespace Wt;

/*
* A simple hello world application class which demonstrates how to react
* to events, read input, and give feed-back.
*/
class HelloApplication : public WApplication
{
public:
    HelloApplication(const WEnvironment& env);

private:
};

WApplication *createApplication(const WEnvironment& env);

application.cpp:

#include "stdafx.h"
#include "application.h"

int main(int argc, char **argv)
{
    return WRun(argc, argv, &createApplication);
}

当我不使用root()时,它工作,例如当我单独离开setTitle(“...”)而没有root() - addWidget(...)它工作,设置页面标题但是当使用root()的行来了,它崩溃了一条消息:“widgetRoot是0xFFFFFFFF”。有人可以帮忙吗?感谢

1 个答案:

答案 0 :(得分:0)

好的,我找不到预建库的解决方案。我的解决方案是下载Wt源代码,Boost并使用CMake编译它们。它仍然无法在调试模式下工作,但我现在至少有一个工作版本(发布)。