这可能是一个noob问题,但我真的想弄明白:我有我的C++项目使用其他库(例如log4cplus和getopt_pp)。我在eclipse下开发它,现在我使用autotools对它进行配置,以便使用makefile和配置脚本来分发它,以确保每个人都可以编译它。 我的问题是:我怎样才能获得那个调用./configure
或./make
会自动编译&在最终用户系统中安装静态库?C++ makefile编译依赖库
- 这样做的最佳方法是什么?
- 什么是安装库的最佳路径?
这可能是一个noob问题,但我真的想弄明白:我有我的C++项目使用其他库(例如log4cplus和getopt_pp)。我在eclipse下开发它,现在我使用autotools对它进行配置,以便使用makefile和配置脚本来分发它,以确保每个人都可以编译它。 我的问题是:我怎样才能获得那个调用./configure
或./make
会自动编译&在最终用户系统中安装静态库?C++ makefile编译依赖库
最好的方法是不要这样做。相反,您应该记录(在安装文档中)您的应用程序/库依赖于某些其他库(并且最好也是您测试它的哪个版本),并且您的脚本应该检查这些依赖关系的存在。
的原因是:
如果您将库与您的项目一起运输(而不是独立分发并要求用户确保安装它们),那么您可能希望将这些库放在您自己的目录中项目,并在你的configure.ac
确保它通过增加Makefile
输出目标,以AC_OUTPUT
是知道这些子目录,即像
AC_OUTPUT(Makefile log4cplus/Makefile getopt_pp/Makefile yourprogramsrc/Makefile)
然后在根级别Makefile.am
,让它知道你的新子目录,即
SUBDIRS=log4cplus getopt_pp yourprogramsrc
然后确保你的包括标志和连接器选项都指向你,包括库设置正确。