我正在尝试为 openwrt 构建一个 alljoyn 应用程序。我收到以下错误
usr/include/qcc/platform.h:32:2 error: #error No OS GROUP defined.
我正在使用 Makefile 来构建我的应用程序。我有两个makefile。我的顶级 Makefile 的编译部分看起来像
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
C_INCLUDE_PATH="$(STAGING_DIR)/usr/include" \
CPLUS_INCLUDE_PATH="$(STAGING_DIR)/usr/include" \
CC="$(TARGET_CC)" \
WS=off \
EXTRA_CFLAGS="$(TARGET_CFLAGS) -DQCC_OS_GROUP_POSIX -DQCC_OS_LINUX" \
CROSS_COMPILE="$(TARGET_CROSS)" \
CPPFLAGS="-I$(STAGING_DIR)/usr/include \
-I$(STAGING_DIR)/usr/include/uClibc++ -fno-builtin -fno-rtti \
-nostdinc++ -fpermissive -Wno-error" \
LDFLAGS="$(TARGET_LDFLAGS) -lalljoyn -lcrypt -ldl $(GpioLdflags-y)"
endef
src 目录中的 makefile 如下所示。
CC := $(CROSS_COMPILE)g++
all : aj-sample
%.o : %.cc
$(CC) -c $(EXTRA_CFLAGS) $(CPPFLAGS) $(INCLUDES) -o $@ $<
LIBS := -lalljoyn -luClibc++ -lpthread
aj-sample : aj-sample.o
$(LD) aj-sample.o $(LIBS) $<
clean :
-rm -f *.o
我还尝试在 src 级别的 makefile 中添加 -DQCC_OS_GROUP_POSIX -DQCC_OS_LINUX。但问题仍然相同。
我已经从 openwrt feeds 安装了 alljoyn,它编译成功。我很感激任何帮助。