1# SDK Usage 2 3 4## What is the macro definition of the arm64-v8a/armeabi-v7a directory in CMake? (API version 9) 5 6**Solution** 7 8The **arm64-v8a** and **armeabi-v7a** directories are as follows: 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 23The macro for accessing the directory is **${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/xxxx.so**. 24 25**CMAKE_CURRENT_SOURCE_DIR**: directory where the **CMakeList.txt** file is stored. 26 27**OHOS_ARCH**: type of the application binary interface (ABI). The value can be **armeabi-v7a** or **arm64-v8a**. The default value is **arm64-v8a**. 28 29**Example** 30 31Add the link library to **CMakeLists.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## What should I do if an error is reported when OH_LOG_Print in the native code is used to print logs? (API version 9) 43 44**Problem** 45 46When **OH\_LOG\_Print** is used in the native code to print logs, the following error is reported: **undefined symbol: OH_LOG_Print**. 47 48**Cause** 49 50The link library file is missing. 51 52**Solution** 53 54Open the **CMakeLists.txt** file and append **libhilog_ndk.z.so** to the end of **target_link_libraries**. 55 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## How do I traverse files in rawfile? (API version 9) 66 67**Solution** 68 69Use the **OH_ResourceManager_OpenRawDir()** native API to obtain the root directory of **rawfile** and traverse the root directory. 70 71**Reference** 72 73[Rawfile](../reference/apis-localization-kit/rawfile.md) 74