我嘗試在Xcode 6中創建C庫,但它在代碼usleep(2*1000*1000);
上編譯錯誤。爲什麼在Xcode 6中編譯C庫時,C99`中的函數'usleep'的隱式聲明是無效的?
和錯誤日誌
/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>
?
還是我錯過了什麼?
在此先感謝。