1# SDK使用常见问题
2
3
4## cmake中arm64-v8a/armeabi-v7a这层目录的宏定义是什么(API 9)
5
6**解决方案**
7
8arm64-v8a及armeabi-v7a目录如下所示:
9
10```
11entry
12├─ libs
13│    ├─ arm64-v8a
14│    │    └─ libMyDemo.so
15│    └─ armeabi-v7a
16│         └─ libMyDemo.so
17└─ src
18     └─ main
19          └─ cpp
20               └─ CMakeLists.txt
21```
22
23访问到目录的宏定义为:${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/xxxx.so
24
25CMAKE_CURRENT_SOURCE_DIR:CMakeList.txt文件所在目录。
26
27OHOS_ARCH:设置应用程序二进制接口ABI,类型为 armeabi-v7a、arm64-v8a,默认值是 arm64-v8a。
28
29**使用示例**
30
31CMakeLists.txt 中添加链接库。
32
33```
34target_link_libraries(entry PUBLIC
35    libace_napi.z.so
36    libhilog_ndk.z.so
37    ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libMyDemo.so
38)
39```
40
41
42## 在Native代码中使用OH_LOG_Print打印日志报错(API 9)
43
44**问题现象**
45
46在Native代码中使用OH_LOG_Print打印日志,上报错误:undefined symbol: OH_LOG_Print
47
48**原因分析**
49
50缺少链接库文件。
51
52**解决措施**
53
54打开CMakeLists.txt文件,在target_link_libraries最后追加libhilog_ndk.z.so55
56```
57set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
58target_link_libraries(entry PUBLIC
59    libace_napi.z.so
60    libhilog_ndk.z.so
61)
62```
63
64
65## 如何遍历rawfiles中的文件(API 9)
66
67**解决方案:**
68
69使用Native API中的OH_ResourceManager_OpenRawDir()方法获取到rawfile的根目录,然后对其进行遍历。
70
71**参考文档:**
72
73[Native开发指导](../reference/apis-localization-kit/rawfile.md)
74
75