【发布时间】:2011-07-27 22:47:12
【问题描述】:
我正在编写一个用于 android 命令行的 C 程序。在我开始使用消息队列并包括 linux/msg.h(或 sys/msg.h)之前,我没有遇到任何编译问题。我不确定要链接到的正确库是什么,甚至不确定如何使用 Android.mk 进行链接。我已经解决了尽可能多的问题,但似乎没有任何答案有效。
我得到的确切错误:
- sys/msg.h: 没有这样的文件或目录
- 函数“msgget”的隐式声明
- 函数“msgsnd”的隐式声明
- 函数“msgrcv”的隐式声明
- 函数“msgctl”的隐式声明
这是我的 Android.mk 文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := appX.c
LOCAL_MODULE := appX
LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_LIBRARIES := libc
LOCAL_C_INCLUDES := $(LOCAL_PATH)
include $(BUILD_EXECUTABLE)
我非常感谢任何帮助。
【问题讨论】:
-
您还没有提到为什么要使用 Linux 消息队列。可能有一种更适合 Android 的方式来处理您想做的任何事情。您能否提供有关您的应用程序的更多详细信息?
-
我真的只需要 IPC。然而,我意识到我可以摆脱多线程而不是多处理。