Ich bin auf der Suche nach einer Möglichkeit, eine Header-Datei automatisch zu generieren. Diese Datei ist die öffentliche Schnittstelle einer Bibliothek und ich möchte einige Strukturen und Sachen vor der Kompilierung "füllen".Wie automatisch C-Header-Datei mit CMake generieren?
Zum Beispiel im privaten Header habe ich eine Struktur mit nützlichen Feldern:
typedef struct mystuff_attr_t {
int _detachstate;
mystuff_scope_t _scope;
cpu_set_t _cpuset;
size_t _stacksize;
void* _stackaddr;
} mystuff_attr_t;
Und ich würde diese Struktur wie ohne die Felder im öffentlichen Header habe, aber mit der gleichen Größe (derzeit manuell durchgeführt auf diese Weise):
typedef struct mystuff_attr_t {
char _opaque[ 20 ];
} mystuff_attr_t;
ich mag würde dies automatisch durch CMake erzeugt haben, wenn das Build-Systems, um die Schaffung schlecht Größe Struktur in öffentlicher Schnittstelle zu vermeiden, wenn ich die Struktur in privaten Header ändern.
Genau das, was ich brauchte, danke! –
Sie sollten angeben, dass Sie die Zeile hinzufügen müssen: include (CheckTypeSize). –