如何在 ndk 中使用 cmake 设置 LOCAL_LDFLAGS/LOCAL_CPPFLAGS



如何使用cmake设置LOCAL_CPPFLAGS/LOCAL_CFLAGS/LOCAL_LDFLAGS?我想减小这么大的大小,但我读过的教程都是关于 mk 文件的。我应该在cmakelist.txt中做什么?

我直接设置了LOCAL_CPPFLAGS/LOCAL_CFLAGS/LOCAL_LDFLAGS,但似乎不起作用。

set(LOCAL_CPPFLAGS "${LOCAL_CPPFLAGS} -ffunction-sections,-fdata-sections")
set(LOCAL_CFLAGS "${LOCAL_CFLAGS} -ffunction-sections,-fdata-sections")
set(LOCAL_LDFLAGS  "${LOCAL_LDFLAGS} -Wl,--gc-sections,--icf=safe")

你应该能够使用这样的东西来做到这一点:

target_compile_options(mytarget PRIVATE -ffunction-sections -fdata-sections)
target_link_libraries(mytarget -Wl,--gc-sections,--icf=safe)

请注意,在使用 NDK 的 Clang 时,默认情况下-ffunction-sections已启用一段时间。如果您使用的是 NDK r19c 或更高版本,我相信默认情况下也会启用-fdata-sections。因此,只有链接器标志是显式指定的必需的。

最新更新