如何使用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
。因此,只有链接器标志是显式指定的必需的。