gpt4 book ai didi

android - 为什么在 Xcode 6 中编译 C 库时会发生函数 'usleep' 的隐式声明在 C99 中无效?

转载 作者:太空宇宙 更新时间:2023-11-04 06:26:04 25 4
gpt4 key购买 nike

我尝试在 Xcode 6 中创建 C 库,但它在代码 usleep(2*1000*1000); 处编译错误.

错误日志是

/Users/apk/Desktop/test/test.c:37:9: Implicit declaration of function 'usleep' is invalid in C99

另一个是/Users/apk/Desktop/test/test.c:37:9: Declaration of 'usleep' must be imported from module 'Darwin.POSIX.unistd' before it is required

test.c中的部分代码就像下面这样:

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int test(const char* dest) {

...

usleep(2*1000*1000);


}

test.h中的代码就像下面这样:

#ifndef __TEST_H__
#define __TEST_H__

int test(const char* dest);

#endif

是不是找不到头文件导致的错误<netinet/in.h> ?

还是我遗漏了什么?

提前致谢。

最佳答案

您的编译器无法找到 forward declarationusleep() .您需要添加包含 usleep() 声明的头文件.请加#include <unistd.h>

此外,您还可以查看 man page对于 usleep() .

关于android - 为什么在 Xcode 6 中编译 C 库时会发生函数 'usleep' 的隐式声明在 C99 中无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26776956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com