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