Wt C++ root() Возвращает Null

Я установил бинарный файл Wt 3.3.1 в Windows 10 и использую его с VS2015. У меня также установлен буст 1.53. Каждый раз, когда я пытаюсь запустить следующий пример, функция root() всегда возвращает 0xFFFFFFFF, и я ничего не могу сделать с root():

Веб-приложение.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);
}

приложение.ч:

#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);

приложение.cpp:

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

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

Это работает, когда я не использую root() , например, когда я оставляю setTitle("...") без root()-addWidget(...) он работает, устанавливает заголовок страницы, но когда строка с корнем (), вылетает с сообщением: "widgetRoot was 0xFFFFFFFF". Кто-нибудь может помочь? Спасибо


person Tolga Karanlikoglu    schedule 11.07.2016    source источник
comment
Что такое root()? Укажите код для root().   -  person GreatAndPowerfulOz    schedule 11.07.2016
comment
Если root() связано со ссылкой на какой-либо родительский виджет, возможно, его не следует использовать, поскольку в этом случае такой родительский виджет может быть неопределенным.   -  person J.J. Hakala    schedule 11.07.2016
comment
Возвращает ли он NULL или возвращает 0xFFFFFFFF?   -  person Lightness Races in Orbit    schedule 11.07.2016


Ответы (1)


Хорошо, я не смог найти решение с готовыми библиотеками. Мое решение состояло в том, чтобы загрузить исходный код Wt, Boost и скомпилировать их с помощью CMake. Он по-прежнему не работает в режиме отладки, но у меня есть хотя бы одна рабочая версия (выпуск).

person Tolga Karanlikoglu    schedule 12.07.2016
comment
Да, были похожие баги, когда я пытался самостоятельно скомпилировать Wt 3 с VS2015. - person Superlokkus; 18.07.2016