ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
3 июля
87719
rezident (27.04.2007 00:47, просмотров: 3651)
ИАР 3.42А непонятная ошибка линкера. Сегодня выезжал на объект и там на месте пришлось править прошивку. Обнаружилась непонятная ошибка линкера. Сейчас ее точно воспроизвести не могу (по номеру), но суть в том, что линкер не может сопоставить имени адрес структуры констант, описанной в глобальном хидере как extern. Сама структура находится в сегменте INFO и инициализируется в одном из СИ-ных модулей. В 3.30А линкер относился к этому совершенно спокойно и указателю адрес подсовывал правильно, но на ноуте, который я взял с собой была установлена 3.42А и при компиляции выдавалась ошибка. Я правил всего лишь несколько значений констант и ничего больше в программе не менял. Правда проект был конвертирован для 3.42А из 3.30А. Интересно, встречались ли подобные недоразумения у кого-то при конвертации проектов в ИАР? Может нужно было просто новый проект создать и подключить исходники в нему вручную? P.S. ах да, вышел из ситуации, разбив инициализацию констант на две части, одну из которых сунул в тот модуль где линкер ругался. Прибор работает, но непонятки остались. extern для линкера не рулит?