首页 > 解决方案 > 在哪里放置外部库

问题描述

我目前正在使用 C++ 开发一个静态库。我的库使用外部库(预编译)。问题是; 我应该把这些外部库放在哪里?我只想适应目录结构的通用方案。

目前,我的目录结构如下所示:

build   // Object files
include // Header files
lib     // Compiled library
src     // Source directory
test    // Test sources
tools   // Helpful scripts etc.

标签: c++static-libraries

解决方案


通常,外部库存储在外部。即在项目之外。

不同的系统有不同的约定。例如,在 POSIX 系统上,库档案通常存储在 /usr/lib 中,而头文件则存储在 /usr/include 中。这种外部库通常使用系统提供的包管理器安装。使用系统提供的库(除了它们的位置和管理是系统特定的)的缺点是有时您对获得的版本没有太多控制权。好处是通过动态链接共享库的好处。

库也有跨平台的包管理器,可以很好地与静态链接配合使用,并允许使用特定版本的库。这样的包管理器也有他们自己的下载库的约定。


推荐阅读