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

相关推荐
猷咪8 分钟前
C++基础
开发语言·c++
CSDN_RTKLIB15 分钟前
WideCharToMultiByte与T2A
c++
星火开发设计29 分钟前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识
蒹葭玉树40 分钟前
【C++上岸】C++常见面试题目--操作系统篇(第二十八期)
linux·c++·面试
一匹电信狗43 分钟前
【LeetCode_21】合并两个有序链表
c语言·开发语言·数据结构·c++·算法·leetcode·stl
2401_838472511 小时前
C++中的访问者模式
开发语言·c++·算法
郭涤生1 小时前
C++的函数是否可以做到完全覆盖Linux和windows的跨平台
linux·c++·windows
怪兽源码2 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
fqbqrr2 小时前
2601C++,复制超文本格式
c++
m0_561359672 小时前
基于C++的机器学习库开发
开发语言·c++·算法