Я занимаюсь разработкой библиотеки, в которой размер некоторых переменных зависит от #define и некоторых #define, которые создаются в зависимости от значения другого # define.
например,
int variable1[SIZE_USER]
#if SIZE_USER>3
#define CONDITION 1
#else
#define CONDITION 0
#endif
Идея состоит в том, что когда пользователь хочет работать с библиотекой, он создает собственный заголовочный файл со всеми необходимыми директивами препроцессора (#define) и использует этот файл в том же каталоге, где находится файл "main.cpp" ине в исходных файлах библиотеки.
Проблема в том, что когда я включаю файл конфигурации (в котором есть все # define) в тот же каталог, где находятся все мои заголовочные файлы библиотеки, у меня нет проблем.
т.е.
#include <config.h>
//My Library Code...
Но если я объявлю файл заголовка конфигурации вне исходных файлов моей библиотеки, компилятор не найдет # define, которые были объявлены в "main.cpp"файл.
то есть
#include<config.h>
#include<myLibrary.h>
//User code...
Есть что-то очевидное, чего мне не хватает в работе компилятора?