编译安装开源库是开发项目中经常遇见的现象。
如果所需安装的库不依赖其他的库,或者其依赖的库安装在标准目录下,编译安装时很easy的事情。
现在有一种情况,需要交叉编译一个A库,安装在非标准目录中,A库依赖B库,所以我们会先将B库交叉编译安装。然后再编译A库的时候,明确告诉B库的安装目录。这里常规做法就是在A库configure配置时,修改或者填充其设定的宏,来生成Makefile。这样就可以正常编译了。不过,在make时,如果同时生成了可执行文件,有可能会出现链接错误,说明LD没有找到B库导出的符号。可以将B库所在的目录直接添加到A库的Makefile中。当然貌似有点暴力,但可以解决问题。