vcpkg+CLion+cmake+MinGW使用

vcpkg+CLion+cmake+MinGW使用

  • vcpkg介绍
    • 安装 vcpkg
      • 安装
  • 安装 CMake
    • windows 平台下
    • Ubuntu 平台下
  • 安装 MinGW
  • CLion 中使用 vcpkg
    • 安装 Jsoncpp
    • CMake 使用 jsoncpp
    • CLion 中加入 vcpkg
  • 测试

vcpkg介绍

vcpkg 是用于 C++ 的一种命令行包管理器。 它极大地简化了 Windows、Linux 和 macOS 上第三方库的购置与安装。 如果项目要使用第三方库,建议通过 vcpkg 来安装它们。 vcpkg 同时支持开源和专有库。 已测试 vcpkg Windows 目录中所有库与 Visual Studio 2015、Visual Studio 2017 及 Visual Studio 2019 的兼容性。 在 Windows 和 Linux/macOS 目录之间,vcpkg 现已支持超过 1900 个库。 C++ 社区正在不断向两个目录添加更多的库。

目前 vcpkg 还是和 Visual Studio 的兼容性更强,同时也推荐使用 Visual Studio 作为 Windows 平台下的 IDE 开发工具。但是本人比较习惯于使用 CLion 因此本文将介绍如何在 CLion 下使用 vcpkg

安装 vcpkg

可以参照Windows 安装 drogon中安装 vcpkg 一节安装和配置 vcpkg 。以下是 vcpkg 的安装。

安装

从 GitHub 克隆 vcpkg 存储库:https://github.com/Microsoft/vcpkg。 可凭喜好下载到任意文件夹位置。 此位置的根是 vcpkg。 下载完成后,在命令行界面切换到该目录。
在 vcpkg 根目录中,运行 vcpkg 引导程序:

  • bootstrap-vcpkg.bat (Windows)
  • ./bootstrap-vcpkg.sh(Linux、macOS)

在 Linux 或 macOS 上,你可能需要在以下示例中使用 ./ 作为 vcpkg 命令的前缀。 请记得从 vcpkg 根目录运行这些命令。

安装 CMake

windows 平台下

下载 CMake 之后只需跟着下一步即可,下载地址
安装完成后再终端执行 cmake --version 如出现下图所示则安装成功
在这里插入图片描述

Ubuntu 平台下

ubuntu 平台下可以使用 sudo apt install cmake 安装 cmake 但是这样安装的 cmake 的版本较低。可以使用以下方式安装 cmake

sudo apt install snap
sudo snap install cmake

这样安装后的 cmake 版本为3.18,具体版本在安装后可以查看。

安装 MinGW

安装 MinGW 可以参照这篇文章或者MinGW安装教程。或者可以打开 CLion 选择 File -> Settings -> Build, Execution, Deployment -> Toolchains 选择右侧的 Download
vcpkg+CLion+cmake+MinGW使用_第1张图片
vcpkg+CLion+cmake+MinGW使用_第2张图片
选择弹出页面中的 Sourceforge,点击页面中的 MinGW-w64 - for 32 and 64 bit Windows 如下图所示
vcpkg+CLion+cmake+MinGW使用_第3张图片
vcpkg+CLion+cmake+MinGW使用_第4张图片
选择进入页面后的 Files 标签下拉到下方选择 x86_64-posix-seh 点击下载。
vcpkg+CLion+cmake+MinGW使用_第5张图片
vcpkg+CLion+cmake+MinGW使用_第6张图片

CLion 中使用 vcpkg

这里用 jsoncpp 作为我们的 demo 使用。

安装 Jsoncpp

这里我们使用 vcpkg 安装 jsoncpp 并指定 vcpkgtripletmingw,用户可以通过执行 vcpkg help triplet 来查看 vcpkg 支持的所有 triplet

vcpkg install jsoncpp:x64-mingw-static

安装完成后会显示
vcpkg+CLion+cmake+MinGW使用_第7张图片

CMake 使用 jsoncpp

find_package(jsoncpp CONFIG REQUIRED)
target_link_libraries(main PRIVATE jsoncpp_object jsoncpp_static)

就是我们要在我们项目中 CMakeLists.txt 中填入的内容如下所示

cmake_minimum_required(VERSION 3.17)
set(VCPKG_TARGET_TRIPLET "x64-mingw-static" CACHE STRING "" FORCE)
project(vcpkg_mingw_demo)

set(CMAKE_CXX_STANDARD 17)

find_package(jsoncpp CONFIG REQUIRED)
add_executable(vcpkg_mingw_demo main.cpp)
target_link_libraries(vcpkg_mingw_demo PRIVATE jsoncpp_object jsoncpp_static)

其中的第二行 set(VCPKG_TARGET_TRIPLET "x64-mingw-static" CACHE STRING "" FORCE) 是设置 vcpkgtriplet

CLion 中加入 vcpkg

打开 File -> Settings -> Build, Execution, Deployment -> CMake
vcpkg+CLion+cmake+MinGW使用_第8张图片
CMake options 中填入

-DCMAKE_TOOLCHAIN_FILE=<你安装vcpkg的位置>/scripts/buildsystems/vcpkg.cmake

vcpkg+CLion+cmake+MinGW使用_第9张图片

测试

创建 main.cpp 文件写入如下内容

#include 
#include 

int main() {
    Json::Value root;
    root["one"] = "one";
    std::cout << root.toStyledString() << std::endl;
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

输出下图所示证明使用成功

{
        "one" : "one"
}

Hello, World!

你可能感兴趣的:(C++)