0

我的 makefile 中的一条规则依赖于 -lmysqlclient。在我的 Ubuntu 10.04 32 位机器上,libmysqlclient.so 文件位于 /usr/lib 中。在我的另一个装有 CentOS 6.2 64 位的机器上,这些文件位于 /usr/lib64/mysql 中。有没有比在makefile中添加以下“hack”更好/正确的方法来使我的makefile更通用?

ifeq ($(shell uname -m), x86_64)
vpath %.so /usr/lib64/mysql
endif
4

1 回答 1

0

也许您可以config-x86_64.mk使用该vpath行创建一个文件,并在您的 makefile 中执行类似的操作

-include config-$(shell uname -m).mk

-include如果文件不存在,这将避免错误。

在任何情况下,每个系统都应该正确配置,以便链接器自动获取系统库,而不需要任何手动破解。

于 2012-06-06T21:55:55.210 回答