Я создал два приложения, оба работают нормально.Использование компилятора GCC.Цель: LPC40xx MCU.
Проблема: Автор двух библиотек использовал разные значения для одного и того же регистра.Когда я пытаюсь скомпилировать, я получаю тонны «множественных определений».
Пример:
file1.h: #define DEF1 1
file2.h: #define DEF1 0x0001
file1.c include file1.h (DEF1 = 1)
file2.c include file2.h (DEF1 = 0x0001)
Даже если они технически имеют одинаковое значение, компоновщику это не нравится.
Что я хочу, это сказать компилятору / компоновщику игнорировать наличие множественного определения.file1.c включает file1.h с "#define DEF1 1" и должен игнорировать, что file2.h имеет другое определение DEF1, но просто перейдите к определению DEV1 в файле, который он включает.
file1.c
- include file1.h
- #define DEV1 1
file2.c
- include file2.h
- #define DEV1 0x0001
То, что я ищу, - это способ заставить file1.c использовать #define в файле .h, который он включает, и игнорировать#define в других .h файлах.
это возможно каким-либо образом?