1. 环境配置

推荐还是源码编译到自己的位置,毕竟装到系统位置,导致的版本冲突挺严重

1.1 Boost

  • wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz
  • 解压
  • sudo sh bootstrap.sh
  • sudo ./b2
  • sudo gedit /etc/ld.so.conf在最下面加上安装的提示位置:(linker library paths)
  • sudo ldconfig

1.2 wt-4.8.0

  • wget https://github.com/emweb/wt/archive/4.8.0.tar.gz
  • 解压
  • gedit CMakeLists.txt
    • 在第二行添加下面的内容,主要表示Boost的位置还有自定义安装位置
    • set(Boost_DIR /home/tacom/Development/Tmps/boost/boost_1_80_0/stage/lib/cmake/Boost-1.80.0)
    • set(CMAKE_INSTALL_PREFIX /home/tacom/Development/Envs/wt_4.8.0)
  • mkdir build && cd build
  • cmake ..
  • make
  • sudo make install

2. CLion cmake配置

2.1 添加cmake

我的Boost是安装在自定义位置所以需要添加
Wt库的cmake方案我在官方没找到,添加的两个是Config.cmake里的内容

cmake_minimum_required(VERSION 3.24)
project(WtTest)set(CMAKE_CXX_STANDARD 14)
set(CMAKE_VERBOSE_MAKEFILE ON)  # output makefileset(Wt_DIR /home/tacom/Development/Envs/wt_4.8.0/lib/cmake/wt)
set(Boost_DIR /home/tacom/Development/Tmps/boost/boost_1_80_0/stage/lib/cmake/Boost-1.80.0)
find_package(Wt)
find_package(Boost)add_compile_options()
add_executable(WtTest main.cpp)target_link_libraries(${PROJECT_NAME}PRIVATEWt::Wt  Wt::HTTPBoost::boost
)

2.2 添加官方示例代码

#include <Wt/WApplication.h>
#include <Wt/WBreak.h>
#include <Wt/WContainerWidget.h>
#include <Wt/WLineEdit.h>
#include <Wt/WPushButton.h>
#include <Wt/WText.h>class HelloApplication : public Wt::WApplication
{public:HelloApplication(const Wt::WEnvironment& env);private:Wt::WLineEdit *nameEdit_;Wt::WText *greeting_;
};HelloApplication::HelloApplication(const Wt::WEnvironment& env): Wt::WApplication(env)
{setTitle("Hello world");root()->addWidget(std::make_unique<Wt::WText>("Your name, please? "));nameEdit_ = root()->addWidget(std::make_unique<Wt::WLineEdit>());Wt::WPushButton *button = root()->addWidget(std::make_unique<Wt::WPushButton>("Greet me."));root()->addWidget(std::make_unique<Wt::WBreak>());greeting_ = root()->addWidget(std::make_unique<Wt::WText>());auto greet = [this]{greeting_->setText("Hello there, " + nameEdit_->text());};button->clicked().connect(greet);
}int main(int argc, char **argv)
{return Wt::WRun(argc, argv, [](const Wt::WEnvironment& env) {return std::make_unique<HelloApplication>(env);});
}

2.3 添加启动参数

--docroot . --http-address 0.0.0.0 --http-port 9090

3. 成功

Wt(C++ Web) 源码编译以及cmake配置相关推荐

  1. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础 ...

  2. MySQL5.7.17源码编译安装与配置

    一.下载MySQL源码 官网: http://www.mysql.com 下载下来的文件为:mysql-boost-5.7.17.tar.gz 二.解压源码,准备环境 [root@server1 so ...

  3. Spark入门教程(二)Spark2.2源码编译及安装配置

    Spark2.2源码下载 点此进入官网下载地址: 下载Spark spark官网下载截图 //下载好后用传输工具传输到我们的linux上并解压缩 tar -zxvf spark-2.2.0.tgz 源 ...

  4. linux 源码编译 ./configure 的配置和用法

    阅读目录 1. linux从源码编译到安装软件的3个步骤 2. ./configure 的配置和用法 基本配置 配置安装目录 微调安装目录 配置程序名称 配置系统类型 配置可选特性 配置包选项 配置编 ...

  5. apue.3e源码编译、环境配置(centos6.7)

    1.从官网上下载源码:apue.3e源码 2.解压源码至指定位置:tar -zxv -f src.3e.tar.gz -C /usr/src/ 3.转到解压后的apue.3e/目录下: cat REA ...

  6. Windows下webrtc源码编译(1)——depot_tools配置

    博客原文在这:http://www.ravedonut.com/archives/3511,与朋友自己搭建的平台,有兴趣的朋友可以关注一下!

  7. 详解LAMP源码编译安装

    实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MyS ...

  8. mysql5.6源码编译_MySQL 5.6 源码编译安装

    前言 本文适合对于 mysql 有调试需求.或者在国产化平台上通过源码方式安装 mysql 数据库的场景:并且标题虽然指明是 mysql 5.6 版本,5.7 版本也基本适用,只是 cmake 编译参 ...

  9. Ubuntu 16.04 源码编译安装 uhd gnuradio

    Ubuntu 16.04 源码编译安装 uhd & gnuradio 环境介绍 UHD安装 1 安装依赖 2 编译 3 测试安装结果 4 配置 USB gnuradio安装 1 安装依赖 2 ...

最新文章

  1. 23个CVPR 2020收录的新数据集,都在这里了!
  2. VScode修改快捷键,快捷键恢复默认设置,添加或取消注释
  3. MapReduce分区-原理
  4. 快来加入阿里云大学【云学院】班级助理招募—机会稍纵即逝,错过遥遥无期!...
  5. 3dmax里面cr材质转换vr材质_3DMAX零基础入门视频全套教程
  6. java单线程上锁_关于Java多线程编程锁优化的深入学习
  7. sql docker容器_了解SQL Server Docker容器中的备份和还原操作
  8. 关键字: datagridview 属性 说明
  9. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_8_Stream流中的常用方法_skip...
  10. 银行行号和银行代码是一样的吗?区别是什么?
  11. ubuntu 18.04安装pycharm及编译环境配置
  12. UE4 WebBrowser插件清除浏览器缓存
  13. Holder类的作用
  14. 2019-2020年度第2学期课程回顾总结
  15. 软考案例题目答题技巧
  16. TypeError:‘bool’ oboject is not callable
  17. 工业互联网隐私保护技术
  18. laravel api 429 问题解决
  19. C++判断点是否在圆上
  20. 大学生html5设计大赛方案,某企业举办创意设计大赛,大学生小云经过反复酝酿,确定了创意主题和设计方案,并邀请小...

热门文章

  1. 小白Bert系列-生成pb模型,tfserving加载,flask进行预测
  2. DCS概念简述——以教学用ABB HT 600控制系统/WinCS为例
  3. PHP连接MySQL服务器
  4. 像素坐标系、图像坐标系、相机坐标系、世界坐标系
  5. 【Linux】解决安装Anaconda后默认进入base环境的问题
  6. CE认证电气间隙和爬电距离要求
  7. NASA从太空发射激光,制作地球森林高度地图
  8. scrapy crawl爬取我爱我家二手房的数据
  9. 【笔记】unity渲染类名词术语概念总结(30个点)
  10. VBoxManager很强大哈!