我使用 Android Studio 和 CMakelist 编写 NDK 项目。
但是当我想将大量 cpp/c 文件包含到 CMakelists.txt 时,我找不到一种简单的方法来温和地做到这一点。
我需要你的帮助。
这是我的代码的文件树示例:
Cmakelists.txt
src
|__main
|__cpp
|___a.cpp // cpp file
|___a.h
|___aa.c // c file
|___...
|___dirA // a dir
|__b.c // also has c file
|__b.h
|__d.cpp // and cpp file
|__...
|___dirB // another dir
|__xxx.c
|__...
Run Code Online (Sandbox Code Playgroud)
在我的 Cmakelist 中,我使用了
file(GLOB cpp_srcs "src/main/cpp/*.cpp")
这似乎只包括第一目录层的 cpp 文件,不包括 c 文件,以及子目录的 cpp/c 文件。
有什么办法可以做到吗?目录太深,我不想手动添加 cpp/c 文件。
你可以试试:
file(GLOB_RECURSE cpp_srcs "src/main/cpp/*.c" "src/main/cpp/*.cpp")
Run Code Online (Sandbox Code Playgroud)
或者可能:
file(GLOB_RECURSE cpp_srcs_c "src/main/cpp/*.c")
file(GLOB_RECURSE cpp_srcs_cpp "src/main/cpp/*.cpp")
set(cpp_srcs ${cpp_srcs_c} ${cpp_srcs_cpp})
Run Code Online (Sandbox Code Playgroud)
我不确定第一个模式是否有效,现在无法测试,但第二个模式应该可以。
| 归档时间: |
|
| 查看次数: |
2352 次 |
| 最近记录: |