【发布时间】:2019-07-24 05:37:09
【问题描述】:
如何使用 cmake 设置 LOCAL_CPPFLAGS/LOCAL_CFLAGS/LOCAL_LDFLAGS?我想减小这么大,但我读过的教程都是关于 mk 文件的。在 cmakelists.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")
【问题讨论】:
-
如果描述
Use 'LOCAL_CPPFLAGS' to specify flags for C++ only.完全揭示了LOCAL_CPPFLAGS变量的含义(取自 here),则 CMake 等效项是 CMAKE_CXX_FLAGS 变量。当构建共享库时,LOCAL_LDFLAGS等价于 CMAKE_SHARED_LINKER_FLAGS。由于LOCAL_CFLAGS对C和C++都有影响,所以你需要同时设置CMAKE_CXX_FLAGS和CMAKE_C_FLAGS。
标签: gradle cmake android-ndk