我已经编写了一个库,为我提供了基本的调试功能,可以在编译时将其剥离。我几乎在所有项目中都使用了这个库,但是我遇到了这样的情况,我在一个正在处理的项目中创建了3个库,所有库都依赖于同一库。因此,它们都在自己的子目录中为该调试库独立地构建代码,这不是最佳选择。我想知道如何以跨平台的方式缓解这个问题。
项目布局:
proj
\__ src
|
\__ foo_lib
| \__ src
| \__ debug_lib
|
\__ bar_lib
\__ src
\__ debug_lib
如果这是一个git存储库,也就是说,我将有2个子依赖项,其中将调试库作为子依赖项。因此,除了编译这两个文件外,我还必须在克隆存储库时都下载它们。
我的朋友告诉我要安装全局库,但是我只能弄清楚如何在我的Linux机器而不是Windows上执行此操作。
编辑:评论的附录
我希望在使用它进行开发时能够通过项目的源进行调试(即断点和通过源进行导航,并且不希望预编译二进制文件以随我的git仓库一起交付。
这是静态库吗?
仅编译4次(x86,x64,调试,发行),然后将.lib包含在所有项目中,并使用.h文件。
#pragma comment(lib,"debuglib.lib");
这是DLL吗?您可以将其安装在系统中(不好的做法)。