引出

最近在学习使用C++,另外对建站有点兴趣,所以就找到了WT。对于WT的详细介绍,这里不讲,直接看官网就好。

此文为本人原创,转载请注明出处。

先丢出官网上的干货:

安装

本文主要是讲Windows下如何安装配WT。

  1. 对于Windows,WT有一个已经都整理好的安装包,方便我们使用。

    Windows WT (3.3.6)下载地址: https://github.com/kdeforche/wt/releases

    注意:这里一定要选择清楚,自己的是什么版本的VS,还有应该选择什么版本的WT 是x86 or x64。

    这里作者的电脑是VS2013,选择X64版本。

  2. 下载好之后,打开,直接安装:



    选好自己的安装路径:

  3. 安装完之后,就算已经是安装好了WT了。然后就要进行配置

配置

  1. 首先打开VS,新建一个空的工程

  2. 然后右键工程属性,开始配置

  3. 开始配置:

    以下引用配置原文:

```
To compile your own application using these binary releases, set the following properties in your MSVS project:
1. In C/C++ -> General, Additional Include Directories: c:/location/of/wt-x.y.z/
2. In C/C++ -> Preprocessor, ensure that WIN32 is defined. Also define HPDF_DLL, which will allow you to generate pdf
3. In Linker->General, Additional Library Directories: c:/location/of/wt-3.3.1/
4. Go to Linker->Input. In the Additional Dependencies, fill out the Wt libraries you want to link to. At the topleft of the dialog, check the active Configuration. If it's Debug, link to wtd.lib, wthttpd.lib (and optionally wtdbod.lib, wtdbobackendXXXd.lib, ...). If it's release, link to wt.lib, wthttp.lib (and optionally wtdbo.lib, wtdbobackendXXX.lib). Notice that the debug libraries have a 'd' suffix. Be carefull. You need different libraries depending on the Release/Debug configuration, since it's not possible to mix different versions of the MSVC runtime libraries in one
5. If you want to run your fresh application, set these
In the Debugging tab, set Command Arguments to --docroot . --http-address 0.0.0.0 --http-port
In the Debugging tab, set Environment to PATH=c:/location/of/wt-x.y.z/
Pasted from: http://redmine.emweb.be/projects/wt/wiki/Installing_Wt_on_MS_Windows#The-Easy-Method
```
1. 配置**附加包含目录**:
![](http://images2015.cnblogs.com/blog/861327/201608/861327-20160810204333152-1417611888.png) 配置为所安装的 `c:/location/of/wt-x.y.z/include`,即include文件夹
2. 配置**预编译器定义**
![](http://images2015.cnblogs.com/blog/861327/201608/861327-20160810204342059-1173411702.png) 配置内容为:
WIN32;
HPDF_DLL;
_SCL_SECURE_NO_WARNINGS;
这三个宏。
**注意**:最后一个宏,是为了编译的时候不出错,所以也要包含进去。
3. 配置**附加库目录**
![](http://images2015.cnblogs.com/blog/861327/201608/861327-20160810204350152-1441117930.png) 配置为:` c:/location/of/wt-3.3.1/lib`,也就是安装目录的lib文件夹。
4. 配置**附加依赖项**
![](http://images2015.cnblogs.com/blog/861327/201608/861327-20160810204357777-767568838.png) 配置为:添加所要用到的lib的名字。
- 通常,如果是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。
4. 最后,还要配置调试命令行。
![](http://images2015.cnblogs.com/blog/861327/201608/861327-20160810204405449-1790686948.png) 分别配置为--docroot . --http-address 0.0.0.0 --http-port 8080
PATH=c:/location/of/wt-x.y.z/bin

测试并运行

安装和配置好之后,终于可以测试一下了,下面我们选择了一个简单的小程序:

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

将程序赋值进入工程,就可以编译运行了,其中可能会有很多警告。但是还是能够正常运行

  • 运行界面

表示服务器已经运行
  • 通过环回地址登陆

    在浏览器中输入localhost:8080 然后登陆

    可以看到程序所写的页面:

服务器后台方面也有反应:
![](http://images2015.cnblogs.com/blog/861327/201608/861327-20160810204429074-1364752338.png)

结语

好啦,这就完成了我们的WT+VS2013配置。

Windows下 C++ WT +VS2013配置的更多相关文章

  1. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  2. Windows下pry安装和配置

    Windows下pry安装和配置 pry是一个增强型的交互式命令行工具,比irb强大. 有自动完成功能,自动缩进,有颜色.有更强大的调试功能. pry 安装很简单. 在终端输入: gem instal ...

  3. 【Objective-C】Windows下Objective-C开发环境配置

    [Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/   最近打 ...

  4. Windows下Apache+mod_python+Django配置

    Windows下Apache+mod_python+Django配置 Apache 首先要安装Apache,我安装的版本是2.2.*: Python python肯定是要安装的,我安装的版本是2.5的 ...

  5. Mysql在windows下的免安装配置步骤和重新安装的步骤

    windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...

  6. windows下spark开发环境配置

    http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...

  7. ACE在windows下的编译及配置(VS2010)

    ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论( ...

  8. windows下apache+https环境配置

    windows下apache+https环境配置 转 https://www.cnblogs.com/sandaizi/p/7519370.html 1.修改配置文件conf/httpd.conf,去 ...

  9. windows下redis安装和配置

    windows下redis安装和配置 redis介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主要特点,使它优越于其它键值数 ...

随机推荐

  1. Android 上实现非root的 Traceroute -- 非Root权限下移植可运行二进制文件 脚本文件

    作者 : 万境绝尘 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/36438365 演示样例代码下载 : -- CSDN : h ...

  2. Android系统各版本号及代号

    Android系统各版本号及代号 版本 版本号代号 公布日期 API Android 1.0 阿童木 1 Android 1.1 发条机器人 2008.9 2 Android 1.5 纸杯蛋糕 200 ...

  3. 《实验数据的结构化程序设计》 2.4.4Calendar个人意见,寻求指引

    题目大意: 制作一个日历系统,输入年份.一些周年纪念日,及服务要求日期,依据要求日期输出,输出重要程度小于发生日期的周年纪念日. 题目地址: UVA  145 个人见解: 纯模拟,在闰年,输出顺序及输 ...

  4. HDU 1051:Wooden Sticks

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  5. Qt计算器开发(二):信号槽实现数学表达式合法性检查

    表达式的合法性 由于我们的计算器不是单步计算的,所以我们能够一次性输入一个长表达式.然而假设用户输入的长表达式不合法的话,那么就会引发灾难.所以有必要对于用户的输入做一个限制. 一些限制举例: 比方, ...

  6. 重新想象 Windows 8 Store Apps (22) - 文件系统: 访问文件夹和文件, 通过 AQS 搜索本地文件

    原文:重新想象 Windows 8 Store Apps (22) - 文件系统: 访问文件夹和文件, 通过 AQS 搜索本地文件 [源码下载] 重新想象 Windows 8 Store Apps ( ...

  7. Android 内存泄漏优化汇总

    android内存泄漏优化摘要 博客分类: android android内存溢出OutOfMemoryError . android移动应用程序的内存分配一般是8凯瑟琳约,不正确地假定处理内存处理非 ...

  8. 【剑指offer】删除字符也出现在一个字符串

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/27110873 剑指offer上的字符串相关题目. 题目:输入两个字符串,从第一字符串中删除 ...

  9. 利用__index和__newindex实现默认值表、监控表、只读表(转)

    __index和__newindex实际上相当于是在读写表的时候分别加了一道过滤的逻辑,让读写表的操作可以被监控或说回调,利用这个特性可以实现一些带有特殊功能的表. 带有默认值的表: setdefau ...

  10. 如何解决vector 析构函数的异常 opencv Assert _CrtIsValidHeapPointer

    一气呵成代码,但是,当发生执行_CrtIsValidHeapPointer例外,去搭调了一上午Bug.最终获得 跟踪定位到 _CrtIsValidHeapPointer ,注意到 g 8h&quo ...