vcpkg + cmake + vscode 配置教程
本文是使用 vcpkg
、cmake
、vscode
进行 C++ 开发的环境配置教程。
本文首发于:造梦网。
欢迎关注公众号:通用代码技术。
环境描述
- Linux Debin11 5.15.79.1-microsoft-standard-WSL2
- git version 2.30.2
- curl 7.74.0
- tar (GNU tar) 1.34
- cmake version 3.18.4
- vcpkg package management program version 2023-01-24
- gcc (Debian 10.2.1-6) 10.2.1 20210110
安装 vcpkg
首先安装上述环境工具:
sudo apt install gcc g++ gdb git curl tar make cmake
从 Github 仓库中克隆 vcpkg
的文件:
git clone https://github.com/Microsoft/vcpkg.git
运行初始化脚本:
./vcpkg/bootstrap-vcpkg.sh
注意:这一步将会从 Github 下载文件,使用魔法会更加方便,只需设置一下代理即可:
export http_proxy=ip:port export https_proxy=ip:port
成功之后,在 vcpkg
文件夹内将会有一个二进制可执行文件 vcpkg
,此时即可使用 vcpkg
。
安装所需要的库
使用命令 search
和 install
可以搜索和安装库。例如我将要安装 oatpp
Web 框架:
./vcpkg/vcpkg search oatpp
./vcpkg/vcpkg install oatpp[*]:x64-linux
x64-linux
代表安装目标的机器类型。
这一步会从 GitHub 中下载 oatpp 的源代码,所以需要魔法科技。
成功之后会提醒 oatpp 提供了 CMake 目标。
配置 vscode
新建一个项目文件夹,使用 vscode 打开该文件夹。
mkdir oatpp-test
cd oatpp-test
code .
安装 vscode 插件:C/C++ Extension Pack、CMake ,之后重启 vscode。
Ctrl + Shift + p
输入 settings json
开发工作区设置(JSON)。填入:
{"cmake.configureSettings": {"CMAKE_TOOLCHAIN_FILE": "<path to vcpkg>/scripts/buildsystems/vcpkg.cmake","VCPKG_TARGET_TRIPLET": "x64-linux"}
}
注意:将
<path to vspkg>
替换为你的vcpkg
路径!!!
创建 CMakeLists.txt
文件,填入:
cmake_minimum_required(VERSION 3.18)
project(oatpp-test)
add_executable(oatpp-test main.cpp)
set(CMAKE_CXX_STANDARD 17)find_package(oatpp CONFIG REQUIRED)target_link_libraries(oatpp-test PRIVATE oatpp::oatpp oatpp::oatpp-test)
创建 main.cpp
文件,填入:
#include "oatpp/network/Server.hpp"
#include "oatpp/network/tcp/server/ConnectionProvider.hpp"
#include "oatpp/web/server/HttpConnectionHandler.hpp"class HelloHandler : public oatpp::web::server::HttpRequestHandler {
public:std::shared_ptr<OutgoingResponse>handle(const std::shared_ptr<IncomingRequest> &request) override {OATPP_LOGI("HelloHandler", "this is a request!");auto i = request->getHeaders().get("User-Agent")->c_str();OATPP_LOGI("HelloHandler", "User-Agent : %s", i);return ResponseFactory::createResponse(Status::CODE_200, "Hello World");}
};void run() {/* Create Router for HTTP requests routing */auto router = oatpp::web::server::HttpRouter::createShared();router->route("GET", "/hello", std::make_shared<HelloHandler>());/* Create HTTP connection handler with router */auto connectionHandler =oatpp::web::server::HttpConnectionHandler::createShared(router);/* Create TCP connection provider */auto connectionProvider =oatpp::network::tcp::server::ConnectionProvider::createShared({"localhost", 8000, oatpp::network::Address::IP_4});/* Create server which takes provided TCP connections and passes them to HTTP* connection handler */oatpp::network::Server server(connectionProvider, connectionHandler);/* Print info about server port */OATPP_LOGI("MyApp", "Server running on port %s",connectionProvider->getProperty("port").getData());/* Run server */server.run();
}int main() {/* Init oatpp Environment */oatpp::base::Environment::init();/* Run App */run();/* Destroy oatpp Environment */oatpp::base::Environment::destroy();return 0;
}
此代码参考 oatpp 官方文档:https://oatpp.io/docs/start/step-by-step/#add-request-handler
Ctrl + Shift + p
输入 cmake configure
,选择 CMake:配置。这将会配置该 CMake 工程项目。
完成之后即可发现 main.cpp
中的代码已经不报错了,在 vscode 底部状态栏也出现了 CMake 工具。
点击 Build
之后再点击最右边的运行箭头,即可编译运行该测试程序。
访问 http://localhost:8000/hello,即可看到字符 Hello World
。终端中可以看到访问端的 User-Agent
。
vcpkg + cmake + vscode 配置教程相关推荐
- 亲测最详细VS2019+ITK+VTK(CMake)+Qt配置教程
亲测最详细VS2019+ITK+VTK(CMake)+Qt配置教程 前言 综合很多教程,总结出的最详细VS2019+ITK+VTK(CMake)+Qt配置教程. 一.VS2019+ITK+VTK(CM ...
- VSCode 配置 C++:VSCode + Clang + Clangd + LLDB + CMake + Git
2022/5/17:新版教程已发布,点此查看. 2022/5/17:新版教程已发布,点此查看. 2022/5/17:新版教程已发布,点此查看. 2022/2/4:本文章不再予以更新 -1- 前言 ①目 ...
- VSCode 使用教程--配置 C / C++ 环境
使用vscode配置 C / C++环境,然后借助了很多网上教程.按照以下步骤操作,成功测试通过. 主要流程: 1. 下载VScode 2. 安装cpptools工具 3. 下载MinGW 4. 配置 ...
- VSCode中ESLint插件修复+配置教程
文章目录 vscode+eslint插件+配置教程 如果不好用 排查1: 如果出现后面回车符问题 排查2: 保存时好了但是一瞬间代码又回来了 排查3: 右下角是否开启eslint服务 排查4: 如果保 ...
- 2021版VSCode 配置 LaTeX 环境 保姆级教程
微软最近推出了自己开发的编程软件visual studio code ,这款轻量级的开源编程软件,这款软件不仅可以在其上面使用python,还可以搭载各种运行环境,比如经常用的Latex.Matlab ...
- Win11安装VScode详细教程、配置Anaconda与python环境
1. Anaconda与VSCode的下载与安装 首先参考该教程进行 Anaconda与VSCode的基础安装:Anaconda + VSCode 最详细教程 注意: 1) 上方教程中下载32位.64 ...
- 【c++】VSCode配置 c++ 环境(小白教程)
前言 这篇文章是笔者最开始学习使用vs code配置c/c++环境,第一次配置的时候,没有问题,但是评论区有小伙伴配置不成功,笔者又照着这个教程重新配置了一下.没有问题.于是乎,想着再写一篇文章重新说 ...
- 【C++】VSCode配置C++环境(详细教程)
前言 本人环境: win10专业工作站版 64位 VSCode 配置C++环境 下载安装MinGW-w64及环境变量配置 MinGW:可以理解成包含多种编译环境的可自由选择安装的其中的部分的软件 下载 ...
- 保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建
保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建 写在前面 配置VSCode的编译环境 配置VSCode的gdb调试环境 配置 ...
最新文章
- 哈工大 c语言测试与系统控制 ad,哈工大——c语言在测量与控制中应用实验报告.pdf...
- SpringBoot中用itext实现PDF导出时实现循环添加元素
- NOI[2001]食物链
- Git上传项目到github
- 南京大学c语言试卷,2007年4月南京大学C语言期中试题.doc
- ecplice中class.forname一直报错_A6v5.1升级A6v7.0报错:调用Java代码
- android listview 移动到顶部,android listview滚动到顶部
- scrapy使用meta在各个模块的组件之间传递数据
- c语言图书管理系统课设报告总结,c语言图书管理系统课设报告.docx
- Excel 快速填充空白
- 使用Chrome谷歌浏览器打开Axure原型图
- ArcGIS导出辖区边界点坐标
- 1 10000用计算机计算,2019新个税计算器 工资一万要交多少税
- Google地图 Google Places API中附近搜索,文本搜索,地址搜索,地点详情的简单介绍
- 狐妖小红娘手游服务器维护多久,狐妖小红娘手游:《狐妖小红娘》手游停服公告...
- 用Sendmail转寄信件
- 25句经典话(启迪人生)
- SpringBoot 之数据源配置
- python读取邮件标题_Python连载57- 邮件头和主题、解析邮件
- 有什么值得选择的VPS主机控制面板?