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开发环境就算是搭好了,如果有什么问题可以评论区进行讨论。如有不对的地方请多多指正。

​

相关推荐
星核0penstarry13 小时前
企业 API 向后兼容实战:版本控制、废弃字段通知与灰度发布策略
人工智能·后端·api·接口隔离原则·版本控制·架构设计·后端架构
raindayinrain13 小时前
c++新特性--实用新特性
c++
Soneswy14 小时前
C++基础篇——类与对象(中)
开发语言·c++
用户别睡觉14 小时前
自己搭的中文 PDF RAG 接了 Redis 缓存、跑了 RAGAS,以为能写“提速多少、准确率多少”,结果两个都没按预期来。
后端
彭亚川Allen14 小时前
985 在职研究生到底怎么样?是不是水硕?是不是.....?
前端·后端·程序员
乘风24814 小时前
# 我做了个会遗忘的 AI 记忆,召回率反而从 8% 涨到 100%
后端
Rain的Java大神之路14 小时前
面试被LeetCode 27(移除元素)问懵?别再用两层 for 循环了:一道“简单题”吃透双指针原地删除,附面试加分话术 + 11 个避坑清单
后端·leetcode·面试
kiracrimson15 小时前
STL:List的使用和模拟实现
开发语言·c++·list
利威尔xu15 小时前
Go IM 源码实战(11):token 只是个 HASH,多端互踢的顺序错了就踢错人
后端·微服务·面试·架构·golang
二十七日秋15 小时前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法