QUOTE (TigerSHARC @ Dec 4 2012, 08:21)

фрагмент interf.h:
Обратите внимание на слово
extern. Вы объявили переменную, но не определили ее. Вы сказали компилятору "где-то существует переменная XXX типа iXXX". Таких объявлений одной и той же переменной может быть сколько угодно в каких угодно файлах программы. Но вы нигде не определили переменную - не указали компилятору "а вот тут мы эту переменную заведем":
CODE
const iXXX XXX =
{
123, // software password
456, // set Device ID password
{ 678, 910, 1112, 1314 }, // set calibration/measurement/event/create configuration password
1516 // time of setting this parameter structure, seconds since 1970
};
Такое
определение должно быть только в одном-единственном месте в программе. И обратите внимание, ваша переменная объявлена константной, поэтому в месте объявления вы обязаны указать начальные значения этой пременной - нигде в другом месте компилятор не позволит вам присвоить ей значения.