I’m slowly working my way through 30 odd examples of C code that I wrote for the first 20 chapters in my Ebook., And finding odd compile errors. Here’s an example.
I’ve rewritten my stopWatch object for high-precision timing. This is the header.
#include
struct _stopWatch {
struct timespec start;
struct timespec stop;
} stopWatch;
typedef struct _stopWatch stopWatch;
void startTimer(stopWatch *timer);
void stopTimer(stopWatch *timer);
double diff(stopWatch *timer);
It won’t compile, and keeps on complaining that timespec is an incomplete type. I saw one solution which was to redefine timespec like this:
struct timespec {
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
But that got Clang wound up about timespec redefined errors. I searched and searched and eventually found the answer. Instead of
#include <time>
Use this as well
#include <time>
#include <linux/time.h>
Simple when you know how!
(Visited 30 times, 1 visits today)
One thought on “The joys of Linux C Compilation”
Comments are closed.