804 Star 2.4K Fork 1.2K

GVPHuawei LiteOS / LiteOS

 / 详情

编译json-c_demo 报出没有json_object.h头文件

待办的
创建于  
2022-03-16 18:34

该问题是怎么引起的?

正常git clone代码,然后平台选择是STM32L431_BearPi,选择json-c_demo后,编译出错

重现步骤

输入图片说明

报错信息

make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility/json-c'
json_c_demo.c:34:10: fatal error: json_object.h: No such file or directory
34 | #include "json_object.h"
| ^~~~~~~~~~~~~~~
compilation terminated.

评论 (11)

笨熊 创建了任务

你好,在选择json-c demo完退出后请确认json-c源码包是否下载成功,这个问题可能是由网络等原因造成的源码下载失败后不能正常编译,如果下载源码不成功,建议反复尝试几次。

你好,网络ping百度没有问题,重复编译还是没有办法下载,我也没在组件中找到json-c这份源码的下载网址。这是什么情况

把下载时候的日志贴出来看一下

root@ubuntu:/home/benxiong/share/ZR_litos/LiteOS# make
/home/benxiong/share/ZR_litos/LiteOS/kernel/init/los_init.c
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/arch/arm/cortex_m'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/arch/arm/cortex_m'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/targets/bsp'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/targets/bsp'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/targets/STM32L431_BearPi'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/targets/STM32L431_BearPi'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/base'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/base'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower/tickless'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower/tickless'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower'
make[4]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower/tickless'
make[4]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower/tickless'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/cppsupport'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/cppsupport'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/init'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/init'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libsec'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libsec'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libc'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libc'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib/huawei_libc'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib/huawei_libc'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libm'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libm'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib/zlib'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib/zlib'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/drivers'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/interrupt'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/interrupt'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/timer'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/timer'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/uart'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/uart'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/drivers'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/osdepends'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/osdepends'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/compat'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/compat/cmsis'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/compat/cmsis'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/compat'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/shell'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/shell'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/net'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/net'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/connectivity'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/connectivity/atiny_log'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/connectivity/atiny_log'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/connectivity'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/fs'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/fs'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/lib'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/lib/cjson'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/lib/cjson'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/lib'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/security'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/security'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/utility'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/utility/json-c'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/utility/json-c'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/utility'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/media'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/media'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/language'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/language'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/demos'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility/cjson'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility/cjson'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility/json-c'
json_c_demo.c:34:10: fatal error: json_object.h: No such file or directory
34 | #include "json_object.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
/home/benxiong/share/ZR_litos/LiteOS/build/mk/module.mk:59: recipe for target '/home/benxiong/share/ZR_litos/LiteOS/out/STM32L431_BearPi/obj/demos/utility/json-c_demo/json_c_demo.o' failed
make[3]: *** [/home/benxiong/share/ZR_litos/LiteOS/out/STM32L431_BearPi/obj/demos/utility/json-c_demo/json_c_demo.o] Error 1
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility/json-c'
/home/benxiong/share/ZR_litos/LiteOS/build/mk/module.mk:54: recipe for target 'SUB_MODULE_BUILD' failed
make[2]: *** [SUB_MODULE_BUILD] Error 1
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility'
/home/benxiong/share/ZR_litos/LiteOS/build/mk/module.mk:54: recipe for target 'SUB_MODULE_BUILD' failed
make[1]: *** [SUB_MODULE_BUILD] Error 1
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/demos'
########################################################################################################
######## LiteOS build failed! ########
########################################################################################################
Makefile:59: recipe for target 'LITEOS_BUILD' failed
make: *** [LITEOS_BUILD] Error 1
root@ubuntu:/home/benxiong/share/ZR_litos/LiteOS#
这边没有看到下载的log,这是怎么回事

root@ubuntu:/home/benxiong/share/ZR_litos/LiteOS# make
/home/benxiong/share/ZR_litos/LiteOS/kernel/init/los_init.c
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/arch/arm/cortex_m'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/arch/arm/cortex_m'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/targets/bsp'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/targets/bsp'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/targets/STM32L431_BearPi'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/targets/STM32L431_BearPi'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/base'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/base'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower/tickless'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower/tickless'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower'
make[4]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower/tickless'
make[4]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower/tickless'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/lowpower'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/cppsupport'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended/cppsupport'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/extended'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/init'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel/init'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/kernel'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libsec'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libsec'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libc'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libc'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib/huawei_libc'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib/huawei_libc'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libm'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib/libm'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/lib/zlib'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib/zlib'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/lib'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/drivers'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/interrupt'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/interrupt'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/timer'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/timer'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/uart'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/drivers/uart'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/drivers'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/osdepends'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/osdepends'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/compat'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/compat/cmsis'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/compat/cmsis'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/compat'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/shell'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/shell'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/net'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/net'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/connectivity'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/connectivity/atiny_log'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/connectivity/atiny_log'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/connectivity'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/fs'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/fs'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/lib'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/lib/cjson'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/lib/cjson'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/lib'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/security'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/security'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/utility'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/utility/json-c'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/utility/json-c'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/utility'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/media'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/media'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/components/language'
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components/language'
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/components'
make[1]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/demos'
make[2]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility/cjson'
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility/cjson'
make[3]: Entering directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility/json-c'
json_c_demo.c:34:10: fatal error: json_object.h: No such file or directory
34 | #include "json_object.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
/home/benxiong/share/ZR_litos/LiteOS/build/mk/module.mk:59: recipe for target '/home/benxiong/share/ZR_litos/LiteOS/out/STM32L431_BearPi/obj/demos/utility/json-c_demo/json_c_demo.o' failed
make[3]: *** [/home/benxiong/share/ZR_litos/LiteOS/out/STM32L431_BearPi/obj/demos/utility/json-c_demo/json_c_demo.o] Error 1
make[3]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility/json-c'
/home/benxiong/share/ZR_litos/LiteOS/build/mk/module.mk:54: recipe for target 'SUB_MODULE_BUILD' failed
make[2]: *** [SUB_MODULE_BUILD] Error 1
make[2]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/demos/utility'
/home/benxiong/share/ZR_litos/LiteOS/build/mk/module.mk:54: recipe for target 'SUB_MODULE_BUILD' failed
make[1]: *** [SUB_MODULE_BUILD] Error 1
make[1]: Leaving directory '/home/benxiong/share/ZR_litos/LiteOS/demos'
########################################################################################################
######## LiteOS build failed! ########
########################################################################################################
Makefile:59: recipe for target 'LITEOS_BUILD' failed
make: *** [LITEOS_BUILD] Error 1
root@ubuntu:/home/benxiong/share/ZR_litos/LiteOS#
您好,我这边没有看到下载的log,这是怎么回事

执行make menuconfig会自动下载组件,这时候就会输出下载的log,,如果显示下载失败,需要重新执行一下make menuconfig

root@ubuntu:/home/benxiong/share/ZR_litos/LiteOS# make menuconfig
python /home/benxiong/share/ZR_litos/LiteOS/tools/menuconfig/usr_config.py
warning: the choice symbol LOSCFG_COMPONENTS_NET_AT_BC95 (defined at components/net/net_at/Kconfig:32) is selected by the following symbols, but select/imply has no effect on choice symbols

  • LOSCFG_AT_DEVICE_BC95 (defined at components/connectivity/nb_iot/Kconfig:13)
    warning: the choice symbol LOSCFG_COMPONENTS_NET_AT_BG36 (defined at components/net/net_at/Kconfig:37) is selected by the following symbols, but select/imply has no effect on choice symbols
  • LOSCFG_AT_DEVICE_BG36 (defined at components/connectivity/nb_iot/Kconfig:17)
    warning: the choice symbol LOSCFG_DTLS_CERT_ENCRYPT (defined at demos/agenttiny_mqtt/Kconfig:35) is selected by the following symbols, but select/imply has no effect on choice symbols
  • LOSCFG_COMPONENTS_OTA (defined at components/ota/Kconfig:3)
    Loaded configuration '.config'
    No changes to save (for '.config')
    mv -f /home/benxiong/share/ZR_litos/LiteOS/targets/menuconfig.h /home/benxiong/share/ZR_litos/LiteOS/targets/STM32L431_BearPi/include/menuconfig.h
    sh /home/benxiong/share/ZR_litos/LiteOS/components/download.sh
    /home/benxiong/share/ZR_litos/LiteOS/components/download.sh: 287: /home/benxiong/share/ZR_litos/LiteOS/components/download.sh: Syntax error: "(" unexpected (expecting "}")
    tools/menuconfig/Makefile.kconfig:7: recipe for target 'menuconfig' failed
    make: *** [menuconfig] Error 2
    您好,我想问一下 这个是不是就是下载失败的标志

日志提示语法错误,原因是linux默认的shell为dash,对部分shell语法不支持,需要将默认的shell改为bash,方法如下:在终端执行 sudo dpkg-reconfigure dash 然后选择 no

辛苦了,万分感谢

请问一下,STM32L431bearpi可以使用这个demo吗,我编译后的报错
/home/benxiong/share/ZR_litos/arm-none-eabi-gcc/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld: /home/benxiong/share/ZR_litos/LiteOS/out/STM32L431_BearPi/lib/libfs.a(fs_shell.o):/home/benxiong/share/ZR_litos/LiteOS/components/fs/vfs/fs_shell.c:122: more undefined references to `LOS_LkPrint' follow

可以的,这个错误没有看到过,可以尝试以下操作:

  1. cp tools/build/config/STM32L431_BearPi.config .config
  2. make menuconfig
  3. 重新开启 Json-c demo

如果解决不了,也可以先把文件系统关掉,这个demo不依赖文件系统

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(3)
8103903 benxiongben 1698138403 5414201 lyb9 1659666159
C
1
https://gitee.com/LiteOS/LiteOS.git
git@gitee.com:LiteOS/LiteOS.git
LiteOS
LiteOS
LiteOS

搜索帮助