关于文件之间的引用关系

c++的依赖问题,当要做一个项目A时,为了快速开发,会调用项目B里面的某些src文件,比如某些.cpp,某些.hpp;当编译的时候却报错了,错误原因是引用项目B的某个文件的调用未定义,如《fatal error: XXX.h: No such file or directory》,这个引用文件找不到。

解决方法就是去github上接着找到这个缺少的文件,然后又引用了项目C,可是项目C又有可能引用了项目D,从此进入了漫长的向前追溯的环节。

这就是c++的依赖地狱,再不断地依赖中逐渐迷失自我。

python在这方面的解决方法是pip,通过包管理器来管理各种包的依赖问题 PyPI · The Python Package Index

可以看到拥有556k+的项目,这些项目之间的调用关系由pip来解决,相当于取代了手动去hub上搜索项目中的依赖文件的查找工作。

pypi就是一群开发者把项目上传到一个包管理器中,管理器通过名字以及一些例如版本号的参数去自动的调用,形成链接关系,python就有像是c中的#include<>这样的语法,import或者from XXX import XX(从某个包中选择某个模块引用,不用编译整个包,减小编译量)。

如同上面这种引用时,pip自动就引用完成,因此只要使用pip中的项目,就相当于找了一个管家来减小工作量。

c++也同样有一些包管理器,比如Pacman,vcpkg等。

但是有可能会遇到这种问题,比如B和C项目同时都引用到了项目E,可是引用版本不一样,B用的1.1版E,C用的1.2版E,可是只能出现一个E,包管理器就有概率会报错,如果E这个包做的比较好,能够对版本向前兼容,即1.2包含1.1,这样的话,就引用包即可对B、C的依赖都处理好。

开发需要迭代升级的项目时,一定要做好向下兼容,但是下做的太烂就会成屎山。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值