你好,
这是关于DA14695的。我有一个应用程序写在c++和驱动程序写在C为另一个MCU,现在我有相同的应用程序在Dailog MCU环境。
当我尝试创建一个c++项目,我不能看到SDK文件夹,因为它可以在内置的例子,如ble_adv, ble_cli。
当我将基础项目作为ble_adv,并尝试添加我的Cpp应用程序时,我无法添加Cpp文件。
请让我知道如何创建与FreeRTOS一部分的CPP项目,或如何修改现有的项目,如ble_dev的例子。
问候
设备:
你好,
我已经将这个问题升级到我们的内部支持团队。我们一两天内会收到答复。
/ MHv
你好,
我从我们的内部支持团队得到以下提示:
"
为了让c++与C和平共存,必须让所有的C头文件都用下面的模式装饰:
"
我希望这能帮你解决问题。
/ MHv
你好,
这个问题是关于创建一个c++项目。
当我们尝试创建一个c++项目时,我们不会看到像ble_adv, ble_peripheral这样的文件夹。看不到SDK文件夹。
我的要求是创建一个项目与FreeRTOS支持和项目有C源文件以及c++源文件。
请分享有关这方面的细节。如何创建一个项目的ble_peripheral支持FreeRTOS,并有C和c++源文件。
问候
嗨Sandeep,
我认为最好的方法是将现有的项目从C性质转换为c++。Smartsnippets工作室有一个集成的工具。你需要“File->New Project -> Convert to a C/ c++ Project”,然后按照向导操作。
然后开始确保包含的所有标题都被正确修饰。
你好,
您提到的步骤只起部分作用。我已经采取了一个demo项目从sdk文件夹。ble_peripheral。执行清理并成功构建。
现在正如你提到的,我尝试打开新项目,并选择选项转换为C/ c++项目。在向导中,我可以看到ble_peripheral项目,我选择它并选择ARM_CROSS_GCC。我还没有添加任何新的c++文件。
现在我再次执行干净和执行构建。构建调用c++编译器并给出以下错误。请建议。
调用:GNU ARM交叉c++链接器
c:/program files (x86)/gnu tools arm embedded/7 2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../ arm-none-eabi/lib/thumb/v8-m.m main/fpv5-sp/hard\libg.a(lib_a-exit.o): In function ' exit':
Exit.c:(.text.exit+0x16):未定义对' _exit'的引用
/启动/ DA1469x GCC / exception_handlers。o:在函数' .code_starts'中:
C: / DiaSemi SmartSnippetsStudio2.0.8 SDK_10.0.6.88 / sdk / bsp /启动/ DA1469x / GCC / exception_handlers。undefined reference to `__copy_table_start__ `
C: / DiaSemi SmartSnippetsStudio2.0.8 SDK_10.0.6.88 / sdk / bsp /启动/ DA1469x / GCC / exception_handlers。S:154: undefined reference to `__copy_table_end__ `
C: / DiaSemi SmartSnippetsStudio2.0.8 SDK_10.0.6.88 / sdk / bsp /启动/ DA1469x / GCC / exception_handlers。S:198: undefined reference to __zero_table_start__
C: / DiaSemi SmartSnippetsStudio2.0.8 SDK_10.0.6.88 / sdk / bsp /启动/ DA1469x / GCC / exception_handlers。S:199: undefined reference to `__zero_table_end__ `
/启动/ DA1469x / init_da1469x。o:在函数' SystemInitPre'中:
/sdk/bsp/startup/DA1469x/init_da1469x.c:506: undefined reference to `__copy_table_start__ `
/sdk/bsp/startup/DA1469x/init_da1469x.c:506: undefined reference to `__copy_table_end__ `
/sdk/bsp/startup/DA1469x/init_da1469x.c:506: undefined reference to `__zero_table_start__ `
/sdk/bsp/startup/DA1469x/init_da1469x.c:506: undefined reference to `__zero_table_end__ `
。/ sdk /祝福/栈/ da14690 / src / arch_main。o:在函数cmac_update_power_ctrl_reg_values中:
/sdk/interfaces/ble/stack/da14690/src/arch_main.c:185: undefined reference to ' cmac_dynamic_config_table_ptr'
。/ sdk /祝福/栈/ da14690 / src / arch_main。o:在函数cmac_mem_ctrl_setup中:
/SDK_10.0.6.88/sdk/interfaces/ble/stack/da14690/src/arch_main.c: undefined reference to ' cmi_fw_dst_addr'
你好,
你们能回答一下我的问题吗。cpp文件已编译,但存在链接器错误。我已经给出了一些错误。
你们有没有尝试过转换C到c++的任何例子代码,如ble_peripheral, bli_central
你好,
目前我已经做了一些改变在链接器设置和添加库路径链接器。链接错误减少了。
目前我只得到两个链接错误。
调用:GNU ARM交叉c++链接器
。/ sdk /祝福/栈/ da14690 / src / arch_main。o:在函数cmac_mem_ctrl_setup中:
/sdk/interfaces/ble/stack/da14690/src/arch_main.c: undefined reference to ' cmi_fw_dst_addr'
/sdk/interfaces/ble/stack/da14690/src/arch_main.c:204: undefined reference to `__cmi_section_end__ `
Collect2.exe: error: ld returned 1 exit status
: * * * (ble_peripheral。精灵]错误1
请告诉我们如何解决这个问题。
Sandeep你好,你在构建cpp应用程序时解决了链接器问题了吗?
我也面临着同样的问题。编译工作,但链接器丢失了许多引用。
你能给点建议吗?
谢谢!
你好,丹尼,我们会直接联系你的
你好,桑迪普,我们正在进行线下直接交流。BR JE_Dialog。