Android NDK找不到glob.h的问题
能不能把 rotater.c 的 glob 换成标准的C函数。在Android的NDK里面没有glob的实现。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
能不能把 rotater.c 的 glob 换成标准的C函数。在Android的NDK里面没有glob的实现。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
rule.c 中的 pthread_rwlock_wrlock pthread_rwlock_rdlock pthread_rwlock_unlock 可不可以用SystemV 的二值信号量代替啊?
rule.c 中的 pthread_rwlock_t Android 2.2 以下不支持。郁闷
我去看看能不能把 glibc 的 glob.c 移植到 zlog 里面
问题不大,只要你不用转档功能即可。
我现在编译的库文件没有包含rotater.c,这个会有影响吗?
或者绕过去,你把glob的那部分注释掉,然后不使用转档功能。
哇!居然有人在android上用zlog!
glob是POSIX的一部分,ndk里面有什么替代品吗?
标准C里面只有stdio,而这个要实现glob基本是不可能的。。。
zlog_1.0.6 在 android-ndk-r5c-windows.zip 上编译成功,还没来得及跑。
在这个网址把 glob.c 和 glob.h 下载下来,添加到 Android.mk 里面 https://github.com/tias/android-busybox-ndk/blob/master/patches/024-hush.patch
zlog.c 代码修改,我不知道代码改成这样行不行:
const char *file, size_t filelen, const char *func, size_t funclen, long line, int level,
const void *buf, size_t buf_len)
{
#ifndef __ANDROID__ // modified by xxx 20120725
zlog_output(category, file, filelen, func, funclen, line, level, buf, buf_len, NULL, 0, ZLOG_HEX);
#else
va_list ap;
va_end(ap);
zlog_output(category, file, filelen, func, funclen, line, level, buf, buf_len, NULL, ap, ZLOG_HEX);
#endif
}
/*******************************************************************************/
void dzlog(const char *file, size_t filelen, const char *func, size_t funclen, long line, int level,
const char *format, ...)
{
va_list args;
va_start(args, format);
dzlog_output(file, filelen, func, funclen, line, level, NULL, 0, format, args, ZLOG_FMT);
va_end(args);
}
void vdzlog(const char *file, size_t filelen, const char *func, size_t funclen, long line, int level,
const char *format, va_list args)
{
dzlog_output(file, filelen, func, funclen, line, level, NULL, 0, format, args, ZLOG_FMT);
}
void hdzlog(const char *file, size_t filelen, const char *func, size_t funclen, long line, int level,
const void *buf, size_t buf_len)
{
#ifndef __ANDROID__ // modified by xxx 20120725
dzlog_output(file, filelen, func, funclen, line, level, buf, buf_len, NULL, 0, ZLOG_HEX);
#else
va_list ap;
va_end(ap);
dzlog_output(file, filelen, func, funclen, line, level, buf, buf_len, NULL, ap, ZLOG_HEX);
#endif
}