можите начинающему в СИ (IAR MSP)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
incognito 15 апреля 2004 г. 15:07
|
|
|
|
напортачил с include, но ошибку никак не могу найти. Да и вообще правильный ли подход у меня к хедерам ?
надо было написать файлик с функциями и подсоединить его к проекту
вот что вышло....
/*****************/
/* файл init.c */
/*****************/
#include "init.h"
void init(void)
{
......
}
/*****************/
/* файл init.h */
/*****************/
void init(void);
/******************/
/* основная прога */
/******************/
#include "msp430x13x.h"
#include "init.h"
void main(void)
{
init();
}
эта вся байда отказывается линковаться, пишет
Error[e46]: Undefined external "init" referred in main
что я тут не так сделал то ? замаялся уже...
Составить ответ
|||
Конференция
|||
Архив
Ответы
- все вроде правильно, может ты не подключил файл init.c в проект, правда тогда должна была быть ошибка Unresolved тратата... а утебя undefined посмотри какое расширение у основного файла, может у него расширение cpp? тогда в h файле нужно сделать проверку на наличие макроса __cplusplus и если он определен то указать extern "C" или как там у иара, никогда не пользовал в иаре C++, если не скушает глянь в хелпе.... — SOIC (15.04.2004 19:34, пустое)
- Ответ: Похоже создан проект С++, функцию init комп-ор считает сишной, т.к. находится в файле "init.c". Надо либо переименовать файл в "init.cpp", либо объявить как extern "C" void init(void); — mai (15.04.2004 16:24, пустое)
- Точнее — -=ВН=- (15.04.2004 15:17, 289 байт)
- Надо файл включить в проект для начала. — Bill (15.04.2004 15:17, пустое)
- Ответ: extern void init(void); — -=ВН=- (15.04.2004 15:10, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru