在 autotools 项目中,如何指定库的安装顺序?
In an autotools project how do I specify the installation order of libraries?
我发现只有在构建共享库时才会出现此问题。
具体问题如下:
在 main.mk:
lib_LTLIBRARIES += libone.la
libone_la_LIBADD =
在dir-one/automake.mk:
...
libone_la_LIBADD += libtwo.la
...
在dir-two/automake.mk:
...
libone_la_LIBADD += libthree.la
...
在Makefile.am中:
include main.mk
include dir-one/automake.mk
include dir-two/automake.mk
虽然 make 运行良好,但 make install
抱怨链接器找不到 -ltwo
和 -lthree
.
所以:
lib_LTLIBRARIES += libthree.la libtwo.la libone.la
应该给你正确的安装顺序。
我发现只有在构建共享库时才会出现此问题。
具体问题如下: 在 main.mk:
lib_LTLIBRARIES += libone.la
libone_la_LIBADD =
在dir-one/automake.mk:
...
libone_la_LIBADD += libtwo.la
...
在dir-two/automake.mk:
...
libone_la_LIBADD += libthree.la
...
在Makefile.am中:
include main.mk
include dir-one/automake.mk
include dir-two/automake.mk
虽然 make 运行良好,但 make install
抱怨链接器找不到 -ltwo
和 -lthree
.
所以:
lib_LTLIBRARIES += libthree.la libtwo.la libone.la
应该给你正确的安装顺序。