2016-07-11 6 views
1

Windows 10にWt 3.3.1バイナリをインストールし、VS2015と共に使用しました。私はまた、1.53を増強した。私は、次の例を実行しようと毎回、根()関数は常に0xFFFFFFFFのを返し、私は(ルートで何を作ることはできません):Wt C++ root()はNULLを返します。

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:私は、例えば、WHのために、)(ルートを使用しないとき

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

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

それは動作します私はsetTitle( "...")を単独でroot() - addWidget(...)を使わずに残して、ページタイトルを設定しますが、root()の行が来たら、 "widgetRoot 0xFFFFFFFF "でした。誰でも助けてくれますか?ありがとう、

+0

'ルート()'とは何ですか? 'root()'のコードを提供してください。 – GreatAndPowerfulOz

+0

'root()'がいくつかの親ウィジェットの参照に関連している場合、そのような親ウィジェットはこの場合には未定義であるかもしれないので、使用しないでください。 –

+0

NULLを返しますか、0xFFFFFFFFを返しますか? –

答えて

0

私はあらかじめ構築されたライブラリで解決策を見つけることができませんでした。私の解決策は、Wtソースをダウンロードし、Boostを使ってCMakeでコンパイルすることでした。それでもデバッグモードでは動作しませんが、現在少なくとも1つの動作中のバージョン(リリース)があります。

+0

自分でVS2015を使ってWt 3をコンパイルしようとしたとき、似たようなバグがありました。 – Superlokkus

関連する問題