Kua*_*hen 5 dependencies gcc makefile linkage
让程序在编译时找出依赖关系很容易(使用gcc -MM).然而,链接依赖(决定应链接哪些库)似乎很难弄清楚.当需要具有要链接的单个库的多个目标时,此问题变得紧急.
例如,需要构建三个动态库目标t1.so,t2.so和t3.so.t1.so需要数学库(-lm),而t2和t3则不需要.编写单独的规则会很繁琐.需要与数学库链接的三个目标的单个规则可以省去麻烦.但是,由于数学库未用于t2.so和t3.so,因此会导致目标大小膨胀.
有任何想法吗?
这并不像找到所需的标头那么容易弄清楚。gcc -MM
只是使用预处理器的一些奇特方式,但它对代码的使用或工作方式几乎一无所知:您可以包含一些充满 的标头#define
或引入复杂的依赖项库依赖项。
我会坚持为所有目标(在您的情况下为 3 个)编写显式链接依赖项。您可以收集常见的依赖项LDFLAGS
。
归档时间: |
|
查看次数: |
2338 次 |
最近记录: |