嗨,对话框中,
通过在c++构建工具设置中包含services路径,我可以解决No such file or directory错误。但是现在,我遇到了另一个问题,在gatts.c中定义的函数没有定义引用。
我添加到项目中的custom_service.c文件具有从ble_gatts.c调用的函数。但是当我尝试构建时,我得到了函数“ble_gatts_read_cfm”和ble_gatts.c中定义的所有其他函数的错误未定义引用。我将headile ble_gats .h添加到custom_service.c并检查属性。我不明白是怎么回事。
提前谢谢。
问候,
Prasanna
设备:
嗨Prasanna,
你能分享一个截图吗?请尝试从“项目资源管理器”窗口右键单击您的项目,然后单击索引->重建。之后,关闭并重新打开项目。
这是一个SDK文件,所以我假设您在include路径上出错了。
smarsnippets Studio的版本是什么?
谢谢,PM_Dialog
嗨对话框点,
我使用的是Smartsnippets Studio版本v2.0.14。1749.请在下面找到错误信息。
我按你说的从索引上重建项目。但是,我看到了同样的错误。我已经检查了我创建的文件custom_service.c的包含路径,其中api/include(因为ble_gatts.c在sdk/ble/api下)被添加到项目包含路径。另外,我想通知您,当我尝试单击(ctrl+左键单击)用于调用自定义service.c的函数时,它们指向ble_gats .h头文件。通常,它们应该指向ble_gatts.c中定义的函数。所以,我理解ble_gatts.c在某种程度上没有被编译器识别为链接。我怎么才能摆脱这个?
2)此外,大多数时候,当我打开IDE时,我必须重新导入项目。如何解决这个问题?
问候,
Prasanna
嗨Prasanna,
对不起,我有点糊涂了。SDK示例或自定义代码中是否出现过这种情况?
您是否修改或更改任何SDK文件的位置?
如果你正在开始一个新项目,请遵循DA1469x教程开始一个项目,
谢谢,PM_Dialog
你好PM_Dialog,
我没有修改任何SDK文件的位置。我使用的例子ble_adv演示,并试图添加两个文件custom_service.c和custom_service.h,上面提到的错误发生时,构建项目。Ble_gatts.c没有被编译器识别。
问候,
Prasanna
嗨Prasanna,
请尝试在干净的SDK目录下删除.metadata文件夹。之后,导入SDK的ble_adv项目,构建它并验证所有工作正常。然后,导入您自己的文件。也请采取一些截屏步骤,你正在跟随并与我分享。
谢谢,PM_Dialog
你好PM_Dialog,
我已经从SDK中删除了.metadata文件夹,导入了项目并尝试运行。但是,错误还是一样的。我附上了一些截图,可能会给你更多的见解。
问候,
Prasanna
嗨Prasanna,
我正在使用DA1469x自定义蓝牙服务我也不是阿贝尔来复制它的。请尝试使用handle_write_req()函数,该函数调用本软件示例中提供的ble_gatts_write_cfm()。
谢谢,PM_Dialog
亲爱的PM_Dialog,
我可以解决这个错误。我发现在特定的.c文件中使用的宏没有定义和启用。我定义了宏,问题解决了。
谢谢你!
问候,
Prasanna
嗨Prasanna,
很高兴你把问题解决了,谢谢你的提示。
谢谢,PM_Dialog