Android 本地\u LDLIBS与本地\u LDFLAGS
Android NDK指南将Adnroid.mk中的两个变量解释如下: LOCAL_LDLIBS—构建共享库或可执行文件时要使用的其他链接器标志的列表。Android 本地\u LDLIBS与本地\u LDFLAGS,android,android-ndk,Android,Android Ndk,Android NDK指南将Adnroid.mk中的两个变量解释如下: LOCAL_LDLIBS—构建共享库或可执行文件时要使用的其他链接器标志的列表。 LOCAL_LDFLAGS—构建共享库或可执行文件时要使用的其他链接器标志的列表。 那么这两者之间的区别是什么呢?目前可能没有功能上的区别(或者这是文档中的一个小错误),但其目的(根据这种类型变量命名的长期传统)是: LOCAL_LDLIBS将指定要链接到结果中的库或至少对象 本地标志将为链接器指定其他配置选项 主要区别如下: 本地标
LOCAL_LDFLAGS—构建共享库或可执行文件时要使用的其他链接器标志的列表。
那么这两者之间的区别是什么呢?目前可能没有功能上的区别(或者这是文档中的一个小错误),但其目的(根据这种类型变量命名的长期传统)是:
- LOCAL_LDLIBS将指定要链接到结果中的库或至少对象
- 本地标志将为链接器指定其他配置选项
- 本地标志出现在最终链接器命令行上的对象文件和库列表之前,这是您希望放置影响链接器行为的实际“标志”的位置
- LOCAL_ldlib出现在最终链接的命令行上的对象文件和库列表之后,这是您希望放置实际系统库依赖项的位置
- 将实际链接器标志放入本地\u LDFLAGS
- 将系统库依赖项放入本地\u ldlib
- 仅对系统库依赖项使用本地\u ldlib。如果您想指向另一个库,最好将它们列在本地\u静态\u库和本地\u共享\u库中(即使这意味着为它们定义一个预构建的\u XXX模块),因为这样可以让构建系统自动为您计算依赖项和排序
--start group
/--end group
选项。我最后把它们放在了LOCAL\u LDFLAGS
中,这很有效,但根据您的输入,可能会将它们移动到LOCAL\u LDLIBS