x64-linux下在vscode使用vcpkg

1.使用vscode远程连接上对应的linux ,或者直接在图形化界面上使用。

2.安装vcpkg 插件,然后打开插件设置。
注意:defalut和host的主机一定和你自己的主机一致,且必须符合vcpkg三元组格式,其中你可以选择工作台的设置,这样每个工作区都设置。

3.在你自己的项目目录下新建一个vcpkg.json,最简单的格式如下,如果你有更加细致的版本控制需求,可自行去官网查询。

json 复制代码
{
    "dependencies": [
        "jsoncpp",
        "boost"
    ]
}

4.编写cmakelist,这个里面可能需要你指定编译器。但是这不是关键

  • 你要把需要找的库,结合使用 find_package()函数,和target_link_libraries() 函数链接到你的项目
  • 有些特殊的库可能不需要连接,比如boost,因此你就没有必要添加
    样板如下:
cmake 复制代码
cmake_minimum_required(VERSION 3.5)

set(CMAKE_C_COMPILER "/usr/bin/gcc")
set(CMAKE_CXX_COMPILER "/usr/bin/g++")
project(my_app VERSION 1.0)
set(VCPKG_TARGET_ARCHITECTURE x64-linux)

find_package(jsoncpp CONFIG REQUIRED)

# 添加您的可执行文件
add_executable(my_app main.cc)

target_link_libraries(my_app PRIVATE JsonCpp::JsonCpp)

5.在使用该库过程中,可能还是需要安装各种依赖,比如boost安装时,要openssl。openssl有需要autoconf等一些列工具,autoconf有可能找不到配置文件需要autoconf-archive。

等等一些列问题,总体来说可能vcpkg目前没有达到这个库最开始的那种需求自动化满足库的需求。但是其不添加进系统库所带来的良好隔离性个人认为还是值得使用的。

个人遇见问题总结
安装boost库如果出现 ...unset

https://github.com/microsoft/vcpkg/pull/38979

json 复制代码
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git
sudo apt-get install curl
sudo apt-get install tar
sudo apt-get install unzip
sudo apt-get install build-essential
sudo apt-get install libtool
sudo apt-get install autotools-dev
sudo apt-get install automake
sudo apt-get install autoconf
sudo apt-get install autoconf-archive
sudo apt-get install python3
sudo apt-get install python3-pip
sudo apt-get install python3-dev
sudo apt-get install pkg-config g++ cmake autoconf autoconf-archive


//centos下除了上述对应的必需库之外,可能额外需要一些库
`apk add linux-headers`.  //找对应的的库头文件
`apt install linux-libc-dev`.
sudo dnf install perl-FindBin  #find.bm
sudo dnf install perl
相关推荐
少妇的美梦1 天前
logstash教程
运维
chen9451 天前
k8s集群部署vector日志采集器
运维
chen9451 天前
aws ec2部署harbor,使用s3存储
运维
轻松Ai享生活1 天前
5 节课深入学习Linux Cgroups
linux
christine-rr1 天前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神5551 天前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆1 天前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_264220891 天前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs
乌萨奇也要立志学C++1 天前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
雨落Liy1 天前
Nginx 从入门到进阶:反向代理、负载均衡与高性能实战指南
运维·nginx·负载均衡