【发布时间】:2013-12-18 13:38:13
【问题描述】:
我正在两台不同的机器上开发和测试一些代码:我自己的 *buntu 笔记本电脑和其他人配置的远程 linux 机器。
我的代码使用了一个库,比如说 libfoo,它又依赖于 libbase。 我想在两台机器上保留一个 makefile,但我发现当我构建我的项目(使用 GCC)时事情会有所不同:
- 在我的笔记本电脑上,我需要指定 -lfoo -lbase 以链接代码 正确。
- 在远程机器上,我只需要 -lfoo 标志和链接器 以某种方式自动获取基础库。
有人知道发生了什么吗?从源代码构建 libfoo 时,是否有任何标志可能已传递,从而使这种自动“依赖检测”成为可能?
PS:我知道我可以在 make 文件中指定每个库,但是将标志列表保持在最低限度看起来很有趣,我想知道幕后发生了什么。
【问题讨论】: