我正在开发一个使用Android和NDK的项目,因此使用C / C ++。我使用Eclipse(ADT包)对其进行编码。我需要以毫秒为单位获取当前时间,我发现这样做的方法是
static double now_ms(void)
{
struct timespec res;
clock_gettime(0, &res);
return 1000.0 * res.tv_sec + (double) res.tv_nsec / 1e6;
}
这需要
#include <time.h>
但是eclipse(不是ndk-build)在调用clock_gettime时会出错。它这样做的原因是因为它链接到错误的time.h标题。如果我点击它,它会将我发送到位于
的time.h/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/time.h
奇怪的是,这个time.h和那个应该链接的,位于
<NDK_PATH>/platforms/android-14/arch-arm/usr/include
不一样,Code Analysis只链接到MacOSX版本。
我在项目属性(C / C ++一般&gt;路径和符号&gt;包含)中添加了正确的文件夹,并且没有MacOSX路径。
除了MacOSX路径中存在的文件(如math.h,time.h,stdio.h等)之外,Eclipse将获取使用此方法包含的所有文件。我想我一定错过了什么,但我不知道是什么。