在android ndk中定义sem_t 我在C++中从我的LIBS中移植了一些代码。

在android ndk中定义sem_t 我在C++中从我的LIBS中移植了一些代码。,android,java-native-interface,semaphore,android-ndk,Android,Java Native Interface,Semaphore,Android Ndk,请注意,AndroidInclude库具有semaphore.h 我包含了这些文件,但在编译时出现了一个错误:“sem\u t”没有命名类型 例如,在linux中,我的信号量定义如下: sem_t id; 然后我会打电话: sem_init(&id, 0, initialCount); 在我的Application.mk中,我使用的是: APP_STL := gnustl_static 提前感谢。尝试使用-lz-lm-llog-lc-L$call host

请注意,AndroidInclude库具有semaphore.h

我包含了这些文件,但在编译时出现了一个错误:“sem\u t”没有命名类型

例如,在linux中,我的信号量定义如下:

    sem_t id;
然后我会打电话:

    sem_init(&id, 0, initialCount);
在我的Application.mk中,我使用的是:

    APP_STL := gnustl_static
提前感谢。

尝试使用-lz-lm-llog-lc-L$call host path、$LOCAL\u path/$TARGET\u ARCH\u ABI进行编译

或者只需将以下行添加到您的android.mk:

它对我很有用

试着用-lz-lm-llog-lc-L$call host path、$LOCAL\u path/$TARGET\u ARCH\u ABI编译

或者只需将以下行添加到您的android.mk:


它适用于我

semaphore.h或types.h等是否有用于semu t的typedef?如果没有,您就不能使用它。是的,它存在semaphore.h,并且它的定义如下。typedef结构{volatile unsigned int count;}sem\u t;您正在使用哪个版本的ndk?semaphore.h或types.h等是否有用于semu t的typedef?如果没有,您就不能使用它。是的,它存在semaphore.h,并且它的定义如下。typedef结构{volatile unsigned int count;}sem\u t;您正在使用哪个版本的ndk?
LOCAL_LDLIBS += -lz -lm -llog -lc -L$(call host-path, $(LOCAL_PATH))/$(TARGET_ARCH_ABI)