在带有 Autotools 的 macOS 上,如何告诉 libA 在自定义位置而不是编译器默认位置找到其依赖项 libB?
On macOS with Autotools, how to tell libA to find its dependency libB at a custom location instead of compiler defaults?
我有 libA 和 libB,libA 依赖于 libB。两者都使用 Autotools 作为构建系统。
问题
在 macOS 上,libA 总是试图在 /usr/local/lib
下找到 libB,而源代码结构是这样的
libA
libB
也就是说,它们并排在同一个父文件夹下。
问题
如何指示 libA
libB
位于自定义位置而不是编译器默认位置?请注意,libA 可能依赖于其他东西,这可能是系统默认的。只有 libB
在自定义位置。
解决方法
我知道我可以使用 Homebrew 来解决依赖问题。但在这种情况下,我真的很想从源代码构建。
自己解决了。
libA 的 ./configure
支持自定义编译器标志,例如 LDFLAGS
、CFLAGS
。就我而言,它甚至带有自定义标志 libB_CFLAGS
和 libB_LIBS
.
设置了这些自定义标志后,./configure LDFLAGS="$LDFLAGS -lB"
。我准备好了。
我有 libA 和 libB,libA 依赖于 libB。两者都使用 Autotools 作为构建系统。
问题
在 macOS 上,libA 总是试图在 /usr/local/lib
下找到 libB,而源代码结构是这样的
libA
libB
也就是说,它们并排在同一个父文件夹下。
问题
如何指示 libA
libB
位于自定义位置而不是编译器默认位置?请注意,libA 可能依赖于其他东西,这可能是系统默认的。只有 libB
在自定义位置。
解决方法
我知道我可以使用 Homebrew 来解决依赖问题。但在这种情况下,我真的很想从源代码构建。
自己解决了。
libA 的 ./configure
支持自定义编译器标志,例如 LDFLAGS
、CFLAGS
。就我而言,它甚至带有自定义标志 libB_CFLAGS
和 libB_LIBS
.
设置了这些自定义标志后,./configure LDFLAGS="$LDFLAGS -lB"
。我准备好了。