首页 > 解决方案 > 编译 ctime 库时需要修复一个错误。clock_gettime 和 CLOCK_REALTIME 未在此范围内声明

问题描述

我用 CLOCK_REALTIME 调用 clock_gettime 来测量我的程序经过的时间。代码是这样的:

clock_gettime(CLOCK_REALTIME, &start);
int retCode = system(completeString.c_str());
clock_gettime(CLOCK_REALTIME, &finish);

当我尝试用 gcc -lrt -o timeSpent.exe time.cpp 编译它时,它给了我这个错误:

time.cpp:在函数'int main(int,char**)'中:

time.cpp:38:18: 错误: 'CLOCK_REALTIME' 未在此范围内声明 clock_gettime(CLOCK_REALTIME, &start);

time.cpp:38:40: 错误: 'clock_gettime' 未在此范围内声明 clock_gettime(CLOCK_REALTIME, &start);



头文件:

#include <iostream>
#include <sstream>
#include <fstream>
#include <ctime>
#include <Windows.h>


编译器: MinGW

我希望你们中的一个人能够帮助我解决这个问题,我很感激任何试图提供帮助的人。

Ps:我使用的是 Windows 10,但我之前在 Win10 PC 上成功编译过相同的代码。不幸的是,我无法访问它,因为我在另一个国家。


Ps²:我已经尝试过#define _POSIX_C_SOURCE 199309L,它唯一做的就是添加一个警告。

标签: c++timectime

解决方案


推荐阅读