1. 本次的头文件路径\Hi2110-B657SP3-SDK\src_release_657SP3\src\lib\onenet\public,以此例子作为研究,本次开发使用eclipse,用到SCON插件来做文件的编译和路径设置,单片机内核是cortex M3(海思的HI-2110芯片,NB-IOT模组)。
2. 首先增加文件\Hi2110-B657SP3-SDK\src_release_657SP3\src\lib\onenet\SConscript,内容如下
Import('env')
import os
from ModuleUtils import *
module = 'app_at'
public_include_dirs = [os.path.join(Dir('.').srcnode().abspath, 'public')]
mod = Module(module, env,
public_inc_dirs = public_include_dirs)
products = mod.build()
Return ('products')
获取包含头文件的路径,下面这句话是把 SConscript文件路径 + public = \Hi2110-B657SP3-SDK\src_release_657SP3\src\lib\onenet\public,路径值赋值给public_include_dirs
public_include_dirs = [os.path.join(Dir('.').srcnode().abspath, 'public')]
3. 在上2层文件夹里面的SConscript继续增加头文件包含路径,\Hi2110-B657SP3-SDK\src_release_657SP3\src\SConscript
env.Append(CPPPATH = [os.path.join(Dir('.').srcnode().abspath, 'lib', 'onenet', 'public')])
4. 经过上面2个设置,加上头文件包含路径,编译的时候找到头文件。
5. 正确来说,如果用SCON插件的话,以上4个步骤是包含头文件的必须条件。
6. 指定C文件的路径,在\Hi2110-B657SP3-SDK\src_release_657SP3\src\SConscript添加
if NeulEnv.get_build_os() in ['FreeRTOS_v_8_0_1', 'FreeRTOS_v_9_0_0']:
platform = [
os.path.join('lib', 'onenet'),
]
继续添加
else:
platform = [
os.path.join('lib', 'onenet'),
]