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
相关推荐
A小辣椒6 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒10 小时前
TShark:基础知识
linux
AlfredZhao12 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式