首页 > 解决方案 > 致命错误:json-c/json.h:没有这样的文件或目录在 ubuntu x64 上为 raspberry pi arm 交叉编译

问题描述

我正在尝试在我的 Ubuntu x64 笔记本电脑上为 Raspberry Pi 编译我的代码。

我能够在 Ubuntu 笔记本电脑上编译和运行代码,没有任何问题。但是,当我尝试为 Raspberry Pi 编译它时,出现以下错误:

$make
/home/nmohan/Development/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc -g -Wall -Wextra -I /home/nmohan/github/NiRobot/inc -fPIC -shared -L/home/nmohan/github/NiRobot/Obj_arm -Wl,-rpath=/home/nmohan/github/NiRobot/Obj -o  /home/nmohan/github/NiRobot/Obj_arm/libRSXA.so /home/nmohan/github/NiRobot/lib/RSXA.c -lNMT_stdlib -lNMT_log -ljson-c -lc  -Ljson-c
/home/nmohan/github/NiRobot/lib/RSXA.c:11:25: fatal error: json-c/json.h: No such file or directory
compilation terminated.
Makefile:101: recipe for target '/home/nmohan/github/NiRobot/Obj_arm/libRSXA.so' failed
make: *** [/home/nmohan/github/NiRobot/Obj_arm/libRSXA.so] Error 1
#---------------------------------------#
#                                       #
#            Global Varibles            #
#                                       #
#---------------------------------------#
PROJ_DIR    = /home/nmohan/github/NiRobot
BIN_DIR     = $(PROJ_DIR)/bin
OBJ_DIR     = $(PROJ_DIR)/Obj
OBJ_DIR_ARM = $(PROJ_DIR)/Obj_arm
INC_DIR     = $(PROJ_DIR)/inc
LIB_DIR     = $(PROJ_DIR)/lib
OUT_DIR     = $(PROJ_DIR)/bld
OUT_DIR_ARM = $(PROJ_DIR)/bld_arm
CFLAGS      = -g -Wall -Wextra -I $(INC_DIR)
SFLAGS      = -fPIC -shared
RPATH       = -L$(OBJ_DIR) -Wl,-rpath=$(OBJ_DIR)
RPATH_ARM   = -L$(OBJ_DIR_ARM) -Wl,-rpath=$(OBJ_DIR)
GCC_DIR     = /home/nmohan/Development/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc

#---------------------------------------#
#                                       #
#              Targets                  #
#                                       #
#---------------------------------------#
OBJS        = NMT_stdlib.so \
              NMT_log.so \
              RSXA.so \
              PCA9685.so \
              MTDR.so \
              CAM_MOTOR_CTRL.so \
              HCxSR04.so

#---------------------------------------#
#                                       #
#            Dependancies               #
#                                       #
#---------------------------------------#
NMT_STDLIB_LIBS     = -lc

NMT_LOG_LIBS        = -lc \
                      -lNMT_stdlib \

RSXA_LIBS           = -lNMT_stdlib \
                      -lNMT_log \
                      -ljson-c \
                      -lc 

PCA9685_LIBS        = -lNMT_stdlib \
                      -lNMT_log \
                      -lc \
                      -lwiringPi \
                      -lcrypt \
                      -lm \
                      -lrt \
                      -lRSXA

MTDR_LIBS           = -lNMT_stdlib \
                      -lNMT_log \
                      -lwiringPi \
                      -lPCA9685 \
                      -lcrypt \
                      -lm \
                      -lrt \
                      -lRSXA

CAM_MOTOR_CTRL_LIBS = -lNMT_stdlib \
                      -lNMT_log \
                      -lwiringPi \
                      -lMTDR \
                      -lPCA9685 \
                      -lcrypt \
                      -lm \
                      -lrt \
                      -lRSXA


HCxSR04_LIBS        = -lNMT_log \
                      -lNMT_stdlib \
                      -lRSXA \
                      -lwiringPi \
                      -lcrypt \
                      -lm \
                      -lrt

TARGET_OBJS := $(foreach OBJ,$(OBJS),$(OBJ_DIR)/lib$(OBJ))
TARGET_OBJS_ARM := $(foreach OBJ,$(OBJS),$(OBJ_DIR_ARM)/lib$(OBJ))

all: $(TARGET_OBJS) \
     $(TARGET_OBJS_ARM)
.PHONY: all

$(OBJ_DIR)/lib%.so: $(LIB_DIR)/%.c $(INC_DIR)/%.h
    gcc $(CFLAGS) $(SFLAGS) $(RPATH) -o  $@ $< $($(*)_LIBS)

$(OBJ_DIR_ARM)/lib%.so: $(LIB_DIR)/%.c $(INC_DIR)/%.h
    $(GCC_DIR) $(CFLAGS) $(SFLAGS) $(RPATH_ARM) -o  $@ $< $($(*)_LIBS)

$(OBJ_DIR)/lib%.so: $(LIB_DIR)/%.cpp $(INC_DIR)/%.hpp
    g++ $(CFLAGS) $(SFLAGS) $(RPATH) -o  $@ $< $($(*)_LIBS)

标签: clinuxgccraspberry-picross-compiling

解决方案


安装 libjson-c-dev 包。

sudo apt install libjson-c-dev

推荐阅读