Предача константы в библиотеку

Как передать в библиотеку имя регистра процессора ?
Код в библиотеке:

#if !defined(TCNT_NAME)
#define TCNT_NAME TCNT0   // если не определен TCNT_NAME
#endif
...
TIME = TCNT_NAME       // чтение регистра

Ести в скетче объявить
#define TCNT_NAME TCNT2
то все равно читается TCNT0, т.е. при компиляции библиотеки не определено TCNT_NAME, хотя дефейн стоит до #include “mylib.h”
Спасибо за помощь.

Отредактировать библиотеку

А привести полный пример - не судьба?

У меня вот сразу возникли вопросы, без ответов на которые помочь Вам невозможно, а если бы пример был полным, то они бы не воникли:

  1. Что за библиотека, из каких файлов он состоит? Только .h или .cpp тоже?
  2. Что за среда? Аrduino IDE? Microchip Studio? Что-то ещё?

А всего-то надо было, привести полный пример кода.

без редакции библиотеки никак

ATmega328, Arduino IDE, и .h и .cpp
Код приведен как пример.
Мне надо передать константу при КОМПИЛЯЦИИ библиотеки.
Библиотека используется в нескольких проектах и константы могут быть разные, сейчас приходится держать две библиотеки с разными именами регистров.

Не взлетит в IDE. Это чрезмерно упрощенная среда для чайников. Только переписывать библиотеку.

Приводите полный пример, а не огрызок.

Кроме того, я Вам задал два прямых вопроса

Вы решили забить и не отвечать?

Дело Ваше - и проблема Ваша - у меня всё работает.

А можно ли передать в “чёрный ящик” то, что там не прописано?

Я прекрасно понимаю, что СТАНДАРТНЫМ способом в ИДЕ это не сделать, для этого есть директива препроцессора -D, но на всякий случай спросил.
Кстати у Архата как то передается ARHAT_MODE из скетча.
На чайника не обижусь, но лучше не надо.

так его и надо спросить