Wt(C++ Web) 源码编译以及cmake配置
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配置相关推荐
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础 ...
- MySQL5.7.17源码编译安装与配置
一.下载MySQL源码 官网: http://www.mysql.com 下载下来的文件为:mysql-boost-5.7.17.tar.gz 二.解压源码,准备环境 [root@server1 so ...
- Spark入门教程(二)Spark2.2源码编译及安装配置
Spark2.2源码下载 点此进入官网下载地址: 下载Spark spark官网下载截图 //下载好后用传输工具传输到我们的linux上并解压缩 tar -zxvf spark-2.2.0.tgz 源 ...
- linux 源码编译 ./configure 的配置和用法
阅读目录 1. linux从源码编译到安装软件的3个步骤 2. ./configure 的配置和用法 基本配置 配置安装目录 微调安装目录 配置程序名称 配置系统类型 配置可选特性 配置包选项 配置编 ...
- apue.3e源码编译、环境配置(centos6.7)
1.从官网上下载源码:apue.3e源码 2.解压源码至指定位置:tar -zxv -f src.3e.tar.gz -C /usr/src/ 3.转到解压后的apue.3e/目录下: cat REA ...
- Windows下webrtc源码编译(1)——depot_tools配置
博客原文在这:http://www.ravedonut.com/archives/3511,与朋友自己搭建的平台,有兴趣的朋友可以关注一下!
- 详解LAMP源码编译安装
实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MyS ...
- mysql5.6源码编译_MySQL 5.6 源码编译安装
前言 本文适合对于 mysql 有调试需求.或者在国产化平台上通过源码方式安装 mysql 数据库的场景:并且标题虽然指明是 mysql 5.6 版本,5.7 版本也基本适用,只是 cmake 编译参 ...
- Ubuntu 16.04 源码编译安装 uhd gnuradio
Ubuntu 16.04 源码编译安装 uhd & gnuradio 环境介绍 UHD安装 1 安装依赖 2 编译 3 测试安装结果 4 配置 USB gnuradio安装 1 安装依赖 2 ...
最新文章
- 23个CVPR 2020收录的新数据集,都在这里了!
- VScode修改快捷键,快捷键恢复默认设置,添加或取消注释
- MapReduce分区-原理
- 快来加入阿里云大学【云学院】班级助理招募—机会稍纵即逝,错过遥遥无期!...
- 3dmax里面cr材质转换vr材质_3DMAX零基础入门视频全套教程
- java单线程上锁_关于Java多线程编程锁优化的深入学习
- sql docker容器_了解SQL Server Docker容器中的备份和还原操作
- 关键字: datagridview 属性 说明
- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_8_Stream流中的常用方法_skip...
- 银行行号和银行代码是一样的吗?区别是什么?
- ubuntu 18.04安装pycharm及编译环境配置
- UE4 WebBrowser插件清除浏览器缓存
- Holder类的作用
- 2019-2020年度第2学期课程回顾总结
- 软考案例题目答题技巧
- TypeError:‘bool’ oboject is not callable
- 工业互联网隐私保护技术
- laravel api 429 问题解决
- C++判断点是否在圆上
- 大学生html5设计大赛方案,某企业举办创意设计大赛,大学生小云经过反复酝酿,确定了创意主题和设计方案,并邀请小...