C Macro - Dynamic # include

Estou tentando descobrir como criar uma cadeia de caracteres variável para a instrução #include usando o GC

A idéia é que, para cada módulo de origem que eu escrevi, eu queira incluir como cabeçalho, umC source, criada anteriormente no processo de compilaçã

Gerar este arquivo não é um problema. Incluindo, infelizmente, é.

O que tenho até agora é (identities.h):

// identities.h

# define PASTER2(str)  #str
# define PASTER(str)   PASTER2(str ## .iden)
# define EVALUATOR(x)  PASTER(x)

# define IDENTITIES_FILE EVALUATOR(__FILE__)
# include IDENTITIES_FILE

Ideally, isso seria usado assim (main.c):

//main.c

# include "identities.h"

int main() {return 0;}

Qual seria expandido em uma única passagem pelo pré-processador antes da compilação para produzir:

//main.c (preprocessed)

# include "main.c.iden"

int main() {return 0;}

Os dois níveis de indireção que estou usando (PASTER e EVALUATOR) são resultado deist post.

Infelizmente, isso não está funcionando e fiquei com o erro:

obj/win32/dbg/main.o
In file included from main.c:1:0:
identities.h:42:1: error: #include expects "FILENAME" or <FILENAME>

Acho que o problema é que a instrução include está faltando aspas. Alguma idéi

questionAnswers(5)

yourAnswerToTheQuestion