【发布时间】:2015-10-03 08:17:30
【问题描述】:
我正在处理一个使用两个 package 名称之一的项目,具体取决于发行版。在 Debian 及其衍生版本上,软件包名称为 libcrypto++。在 Fedora 和衍生产品上,它称为 libcryptopp。 (正式项目名称为 Crypto++)。
用户编写代码,并执行以下操作:
#include <crypto++/aes.h>
然后,他们使用-lcrypto++ 链接到库。
显然,在 Fedora 上使用“Debian 约定”会破坏一些东西(反之亦然)。例如,请参阅How to change the include file path with autotools?
我正在尝试确定可以使用什么来抽象出差异,以便用户的代码“正常工作”。
可以使用pkg-config files 处理差异吗?如果是这样,那么它如何处理用户代码中的#include <crypto++/...> 与#include <cryptopp/...>? (我特别担心标头冲突,例如 OpenSSL 和 Crypto++ 都提供aes.h)。
如果不是,我们可以做些什么来帮助解决不同平台上不同名称引起的问题?
【问题讨论】:
标签: autotools crypto++ pkg-config