Why do I have a compilation issues with time.h ?

8 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2009 年 9 月 28 日
When working with the header file time.h, I receive the following error if I use the structure timespec even if the list of header files is correct:
<file.c>: undefined size for `incomplete struct timespec defined at <file.c>:<line> timeout'
If I use the struct itimerspec, I receive the following error:
Verifying test2.c
<file.c>, line 6: error: incomplete type is not allowed
Line 6 is the line where itimerspec is used.

採用された回答

MathWorks Support Team
MathWorks Support Team 2009 年 9 月 28 日
1. As one can see in the comment of the structure timespec in time.h, this structure is a POSIX structure.
The POSIX extension will be taken into account if you define the flag _GNU_SOURCE (see features.h)
2. For itimerspec, this structure is declared in
#include <linux/time.h>
Note that linux/time.h is not an Ansi include. And it actually contains non Ansi keywords, like '__signed__'.
So the compilation issue can be fixed by providing an include file that contains the following:
#define _GNU_SOURCE 1
#define __signed__
#include <linux/time.h>
This include file should be used with the option '-include'.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePortfolio Optimization and Asset Allocation についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by