图解Windows下 C++ WT 在VS2013中的配置
1、对于Windows,WT有一个已经都整理好的安装包,方便我们使用。注意:这里一定要选择清楚,自己的是什么版本的VS,还有应该选择什么版本的WT 是x86 or x64。我的电脑是VS2013,选择X64版本,下载好之后,打开,直接安装,如下图所示:
2、选好自己的安装路径,如下图所示:
3、安装完之后,就算已经是安装好了WT了。然后就要进行配置。
1、首先打开VS,新建一个空的工程,然后右键工程属性,开始配置,如下图所示:
2、开始配置,以下引用配置原文,如下图所示:
3、配置附加包含目录,如下图所示:
配置为所安装的 c:/location/of/wt-x.y.z/include,即include文件夹
4、配置预编译器定义,如下图所示:
配置内容为:
WIN32;HPDF_DLL;_SCL_SECURE_NO_WARNINGS;这三个宏。注意:最后一个宏,是为了编译的时候不出错,所以也要包含进去。
5、配置附加库目录,如下图所示:
配置为:c:/location/of/wt-3.3.1/lib,也就是安装目录的lib文件夹。
6、配置附加依赖项,如下图所示:
配置为:添加所要用到的lib的名字
7、通常,如果是DEBUG的话,就要增加wtd.lib, wthttpd.lib (and optionally wtdbod.lib, wtdbobackendXXXd.lib, ...).
如果是RELEASE的话,就要增加wt.lib, wthttp.lib (and optionally wtdbo.lib, wtdbobackendXXX.lib).
DEBUG和RELEASE的库的名字,就缺少一个d。
最后,还要配置调试命令行,如下图所示:
分别配置为--docroot . --http-address 0.0.0.0 --http-port 8080PATH=c:/location/of/wt-x.y.z/bin
1、安装和配置好之后,终于可以测试一下了,下面我们选择了一个简单的小程序,代码如下:
#include <Wt/WApplication>
#include <Wt/WBreak>
#include <Wt/WContainerWidget>
#include <Wt/WLineEdit>
#include <Wt/WPushButton>
#include <Wt/WText>
class HelloApplication : public Wt::WApplication
{
public:
HelloApplication(const Wt::WEnvironment& env);
private:
Wt::WLineEdit *nameEdit_;
Wt::WText *greeting_;
void greet();
};
HelloApplication::HelloApplication(const Wt::WEnvironment& env)
: Wt::WApplication(env)
{
setTitle("Hello world");
root()->addWidget(new Wt::WText("Your name, please ? "));
nameEdit_ = new Wt::WLineEdit(root());
Wt::WPushButton *button = new Wt::WPushButton("Greet me.", root());
root()->addWidget(new Wt::WBreak());
greeting_ = new Wt::WText(root());
button->clicked().connect(this, &HelloApplication::greet);
}
void HelloApplication::greet()
{
greeting_->setText("Hello there, " + nameEdit_->text());
}
Wt::WApplication *createApplication(const Wt::WEnvironment& env)
{
return new HelloApplication(env);
}
int main(int argc, char **argv)
{
return Wt::WRun(argc, argv, &createApplication);
}
2、将程序赋值进入工程,就可以编译运行了,其中可能会有很多警告。但是还是能够正常运行。运行界面如下图所示:
3、表示服务器已经运行,通过环回地址登陆,在浏览器中输入localhost:8080 然后登陆。可以看到程序所写的页面,如下图所示:
4、服务器后台方面也有反应,如下图所示: