Я хочу построить две библиотеки lib1.a и lib2.a .
lib2.a находится на верхнем уровне, он может делиться только с lib1.a глобальными данными, но не с заголовочными файлами.Тогда lib1.a может использовать эти данные, используя ключевое слово extern
.
Я обнаружил трудность: я хочу инициализировать константу в file1.c внутри lib1.a с данными, определенными в lib2.a .
Пример:
//lib1.a->file1.c:
const My_Var_Type My_Var = {
.field1 = data1,
.field2 = data2,
.field3 = data3,
.field4 = data4
};
Теперь data1
- data4
должен быть получен из lib2.a , я объявил их как константу, но никак!Компилятор генерирует эту ошибку:
initializer element is not constant
Есть ли способ исправить эту ошибку?