vcpkg + cmake + vscode 配置教程

本文是使用 vcpkgcmakevscode 进行 C++ 开发的环境配置教程。
本文首发于:造梦网
欢迎关注公众号:通用代码技术

环境描述

  1. Linux Debin11 5.15.79.1-microsoft-standard-WSL2
  2. git version 2.30.2
  3. curl 7.74.0
  4. tar (GNU tar) 1.34
  5. cmake version 3.18.4
  6. vcpkg package management program version 2023-01-24
  7. 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

安装所需要的库

使用命令 searchinstall 可以搜索和安装库。例如我将要安装 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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在使用vcpkgcmake安装和配置pcl时,你可以按照以下步骤进行操作: 1. 首先,你需要在Visual Studio中创建一个新的空的C++项目,或者使用已有的项目。确保你在项目文件夹中打开一个命令提示符或PowerShell窗口。 2. 使用vcpkg来安装pcl和vtk的依赖项。在命令提示符或PowerShell窗口中,导航到vcpkg的安装目录,并运行以下命令: ``` .\vcpkg.exe install pcl[vtk --recurse``` 这将安装pcl和vtk所需的所有依赖项。 3. 安装Cmake,你可以从官方网站上下载并安装Cmake。 4. 在项目的根目录下创建一个名为CMakeLists.txt的文件,并将以下内容复制到文件中: ``` cmake_minimum_required(VERSION3.8) project(pcltest1) find_package(PCL REQUIRED) if(PCL_FOUND) include_directories(${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS}) add_executable(pcltest1 src/pcltest1.cpp) target_link_libraries(pcltest1 ${PCL_LIBRARIES}) endif() ``` 这个CMakeLists.txt文件定义了项目的构建规则和依赖项。 5. 在命令提示符或PowerShell窗口中,导航到项目文件夹,并运行以下命令来生成项目文件: ``` cmake . ``` 这将根据CMakeLists.txt文件生成项目文件。 6. 最后,使用Visual Studio打开项目文件,并通过构建和运行项目来验证pcl是否正确安装和配置。 请注意,上述步骤假设你已经正确安装了vcpkgCMake,并且已经配置了适当的环境变量。如果你遇到任何问题,请参考vcpkgCMake的官方文档或社区支持来获取更多帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

通用代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值