java程序员如何搭建C++windows开发环境搭建(三)

​ 相信做过java的朋友都知道引用第三方依赖包是通过maven或者grade进行管理的,那么同样C++在引用第三方依赖包时也可以使用一个工具去管理,这里我们选择的是vcpkg。

vcpkg 是微软 C++ 团队开发的跨平台开源软件包管理器,专为简化 C/C++ 第三方库的获取、构建和集成而设计。它支持 Windows、Linux 和 macOS,通过统一的管理方式提升项目可移植性,目前管理着超过 1600 个第三方库,像常见的网络、json、opencv等等常见的库都能覆盖。使用也比较方便,下面按照我的步骤来装一下吧。

由于安装vcpkg以及通过vcpkg下载第三方库,基本都是从github下载的,而且我们要在ubuntu下装,因为上篇我们也讲到了我们的编译环境是ubuntu,如果安装下载有困难可以参考我的这篇博文:

ini 复制代码
https://blog.csdn.net/xiayonghjj/article/details/150638430?spm=1001.2014.3001.5502

好了上面废话那么多,下面开始放正片子了,安装步骤如下非常简单就是需要解决网络问题:

1、安装 vcpkg(源码安装)

bash 复制代码
git clone https://github.com/Microsoft/vcpkg.git

2、执行./bootstrap-vcpkg.sh

bash 复制代码
./bootstrap-vcpkg.sh

安装完成就OK

3、搜索库:你可以使用 search 命令查找 vcpkg 支持的库。

bash 复制代码
./vcpkg search jsoncpp

如果搜到则可以安装:

bash 复制代码
./vcpkg install jsoncpp

这个时候它就会去github里下载这个jsoncpp包,它会将包下载到vcpkg根目录下的downloads目录下,比如这个jsoncpp会下载到这个目录下,vcpkg就是第一步克隆的目录

这里说下两个小提示:

第一就是vcpkg的安装路径尽量在自己ubuntu的家目录下,以免出现权限问题不好解决,上图顶上红框/home/max就是我的家目录;

第二就是在安装第三方库的从github下载时,如果在命令窗口该包下载不下来,则可以直接将下载链接(命令窗口会有日志显示正在下哪一个)用浏览器下载,再放到vcpkg/downloads下,注意浏览器下载下来的的名字可能跟命令窗口日志提示的不一样,需改成和命令窗口日志提示的一样,然后再重新安装。

4、配置Clion

安装好vcpkg后,jsoncpp也下载好了(我这里是以jsoncpp举例子),则可以开始配置Clion了。可以搞个小demo试试

先配置Cmake options,记得换成自己的路径哦

ruby 复制代码
-DCMAKE_TOOLCHAIN_FILE=/home/max/vcpkg/scripts/buildsystems/vcpkg.cmake

5、测试jsoncpp(以jsoncpp为例)

建立一个小demo测试一下jsoncpp是否可以引用成功,怎么创建项目自己摸索一下。

1)先引入json/json.h在没cmake的时候肯定会爆红

2)编写CmakeLists,按照红框进行配置(建立项目的时候默认会生成一个CmakeLists文件)

3)右键项目执行红框,如果成功,然后看第一步引入的json是否成功

以上,咱们的C++windows开发环境就算是搭好了,如果有什么问题可以评论区进行讨论。如有不对的地方请多多指正。

相关推荐
一 乐1 小时前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
码事漫谈2 小时前
Protocol Buffers 编码原理深度解析
后端
码事漫谈3 小时前
gRPC源码剖析:高性能RPC的实现原理与工程实践
后端
恋爱绝缘体13 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
Z1Jxxx3 小时前
加密算法加密算法
开发语言·c++·算法
乌萨奇也要立志学C++4 小时前
【洛谷】递归初阶 三道经典递归算法题(汉诺塔 / 占卜 DIY/FBI 树)详解
数据结构·c++·算法
踏浪无痕4 小时前
AI 时代架构师如何有效成长?
人工智能·后端·架构
程序员小假4 小时前
我们来说一下无锁队列 Disruptor 的原理
java·后端
️停云️4 小时前
【滑动窗口与双指针】不定长滑动窗口
c++·算法·leetcode·剪枝·哈希
charlie1145141914 小时前
嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值
开发语言·c++·笔记·学习·嵌入式·现代c++