你好,
我遵循用户手册:软件开发指南(UM-B-003)和我正在尝试第6章:添加配置文件的现有应用程序代码。在该一章中,应用程序代码初始化和控制设备信息服务服务器(vis)角色配置文件将被添加到应用程序中。我正在使用“模板”项目,我正在进行第6.1到6.5中给出的更改。但步骤6.6:应用程序验证,其中它要求我建立应用程序,实际上失败了。编译期间的错误如下:
......
......
编译app.c ...
compling app_sec.c.
编译app_sec_task.c.
编译app_task.c ...
。\ .. \ .. \ .. \ .. \ .. \ src \ modules \ app \ api \ app_task_handlers.h(67):错误:#20:标识符“dist_create_db_cfm”未定义
{diss_create_db_cfm,(ke_msg_func_t)dist_create_db_cfm_handler},
。\ .. \ .. \ .. \ .. \ .. \ src \ modules \ app \ api \ app_task_handlers.h(67):错误:#20:标识符“dist_create_db_cfm_handler”未定义
{diss_create_db_cfm,(ke_msg_func_t)dist_create_db_cfm_handler},
。\ .. \ .. \ .. \ .. \ .. \ src \ modules \ app \ api \ app_task_handlers.h(67):错误:#44:表达式必须具有指针类型
{diss_create_db_cfm,(ke_msg_func_t)dist_create_db_cfm_handler},
。\ .. \ .. \ .. \ .. \ src \ modules \ app \ api \ app_task_handlers.h(68):错误:#20:标识符“dist_disable_ind”未定义
{diss_disable_ind,(ke_msg_func_t)diss_disable_ind_handler},
。\ .. \ .. \ .. \ .. \ .. \ src \ modules \ app \ api \ app_task_handlers.h(68):错误:#20:标识符“dist_disable_ind_handler”未定义
{diss_disable_ind,(ke_msg_func_t)diss_disable_ind_handler},
。\ .. \ .. \ .. \ .. \ .. \ src \ modules \ app \ api \ app_task_handlers.h(68):错误:#44:表达式必须具有指针类型
{diss_disable_ind,(ke_msg_func_t)diss_disable_ind_handler},
.. \ .. \ .. \ .. \ .. \ .. \ src \ modules \ app \ src \ app_task.c(375):错误:#28:表达式必须具有常量值
const struct ke_state_handler app_default_handler =
e_state_handler(app_default_state);
.. \ .. \ .. \ .. \ .. \ src \ modules \ app \ src \ app_task.c:0警告,7错误
编译app_template_proj.c ...
编译app_console.c ...
compling app_dis.c.
编译app_dis_task.c.
“。\ out \ template.axf” - 7错误,2个警告。
目标未创建。
建立时间过去:00:00:23
我已经从头开始了几个独立的尝试,只是为了排除在介于两者之间的任何缺失的步骤,而是在所有这些场合都有相同的错误失败。
任何帮助解决这些错误都将得到很大欣赏。
嗨Vikramtheone,
问题是,在File App_Task_Handlers.c中无法查看App_diss_task.c文件的邮件或处理程序。如果第6.4步骤6.4,这通常会发生这种情况。请在app_my_project_proj.h中确认您已将右侧包含文件:
#if(ble_dis_server)
#include“app_dis.h”
#include“app_dis_task.h”
#万一
或检查是否定义了ble_dis_server(如果nessecary tha #defines删除,以便查看它是否编译)。这应该是工作。
如果您仍然处理同样的问题,请放置以下内容
#include“app_dis.h”
#include“app_dis_task.h”
在app_task_handlers.c中,看看它是否编译。
谢谢mt_dialog.
我的app_template_proj.h按预期。
所以,我尝试了第二种方法并解决了它,即我在app_task_handlers.h中放下了以下标题。
#if(ble_dis_server)
#include“app_dis.h”
#include“app_dis_task.h”
#万一
Build现在成功,我能够闪现Murata DA14580 EVK,并能够将DIS暴露在我的手机应用程序中。
谢谢你。
嗨Vikramtheone.
很高兴工作虽然您应该能够在没有此替代方法的情况下编译项目。您能否检查app_api.h文件,并确保包含您的app_template_proj.h或检查包含未定义#define是否阻止了包含。
谢谢mt_dialog.