Ubuntu18.04 vcpkg集成VScode

Ubuntu18.04 vcpkg集成VScode

vcpkg

微软开源的C++包管理工具

安装vcpkg

下载

git clone https://github.com/microsoft/vcpkg.git

安装:进入vcpkg目录

./bootstrap-vcpkg.sh

执行集成命令

# integrate在Linux上似乎没有用
./vcpkg integrate install
# 命令行补全
./vcpkg integrate bash

集成VScode

需要的插件

  • C/C++ for Visual Studio Code
  • CMake For VisualStudio Code
  • CMake Tools
  • Visual Studio IntelliCode

重要的步骤

在vcpkg/triplets目录创建x86-linux.cmake文件,并添加

set(VCPKG_TARGET_ARCHITECTURE x86)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)

set(VCPKG_CMAKE_SYSTEM_NAME Linux)

添加环境变量

VCPKG_DEFAULT_TRIPLET=x86-linux

这会使得vcpkg默认下载x86的包,如果不设置会默认下载x64.
如果不想设置这个变量,那么也可以下载时指定版本.

安装库

vcpkg install poco
#下载时指定版本
vcpkg install poco:x86-linux

指定cmake链接库版本

修改vcpkg/scripts/buildsystems/vcpkg.cmake的62行

elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
			set(_VCPKG_TARGET_TRIPLET_ARCH x64)

改为

elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
			set(_VCPKG_TARGET_TRIPLET_ARCH x86)

如果不修改,vcpkg会默认找x64的包,如果没有x64的包会报错

编写项目

//main.cpp 在src目录下
#include <iostream>

int main(int argc, char const *argv[])
{
    std::cout << "/* message */" << std::endl;
    return 0;
}
//CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
#这条命令是必须的,且必须在project(cmake_test)之前
set(CMAKE_TOOLCHAIN_FILE /home/yzz/snap/vcpkg/scripts/buildsystems/vcpkg.cmake)

project(cmake_test)

find_package(nlohmann_json CONFIG REQUIRED)

AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src SRC_LIST)
add_executable(cmake_test ${SRC_LIST})

最后利用cmake构建项目

使用CMake Tools构建项目,手动构建的话需要额外链接c语言的库。

vcpkg虽然不够完美,但也总算是减轻我们的负担了。如果没有代码补全的话执行一次cmake就好.vcpkg与Clion集成步骤差不多,不过本人还没有尝试.

发布了80 篇原创文章 · 获赞 68 · 访问量 7549

猜你喜欢

转载自blog.csdn.net/weixin_44048823/article/details/102939584