Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Программирование ADAM в Borland C++ 3.0

 Ответить Ответить Страница  12>
Автор
Сообщение
compm2001 Смотреть выпадающим
Участник
Участник


Присоединился: 09 Июнь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 78
Свойства публикации Свойства публикации   Ответить, цитируя автора - compm2001 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Программирование ADAM в Borland C++ 3.0
    Опубликовано: 21 Июль 2005 16:43

Добрый день! Не могу скомпилировать ни одну программу с использованием функций библиотеки которая поставляется с ADAMом. Вроде все делаю правильно. Создаю новый проект. Жму Project->Add Item, выбираю UTILITYS.LIB, жму Add->Done. Затем в main.cpp подключаю 5510drv.h (#include "5510drv.h"). В пути поиска  добавил каталог 5510_LIB. Вызов какой нибудь функции, например ADAMdelay(500) - и ошибка. Linker Error: Undefined symbol ADAMdelay(500) in module main.cpp. Просматривая форум  таких вопросов больше не нашел, у всех все компилируется... Подскажите кто может.

Наверх
KozlovKS Смотреть выпадающим
Prosoft.ru
Prosoft.ru


Присоединился: 21 Июнь 2003
Online Status: Offline
Публикации: 432
Свойства публикации Свойства публикации   Ответить, цитируя автора - KozlovKS Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Июль 2005 16:54

Я бы сначала положил библиотеки в один каталог с исходными файлами и посмотрел, дело в путях или в чем другом.

Наверх
compm2001 Смотреть выпадающим
Участник
Участник


Присоединился: 09 Июнь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 78
Свойства публикации Свойства публикации   Ответить, цитируя автора - compm2001 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Июль 2005 21:53
Положил файлы 5510drv.h и UTILITYS.lib в каталог с исходными файлами. Добавил UTILITYS.lib в проект. Не помогло. Что еще может быть?
Наверх
sergew Смотреть выпадающим
Новичок
Новичок


Присоединился: 28 Февраль 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 16
Свойства публикации Свойства публикации   Ответить, цитируя автора - sergew Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Июль 2005 06:43

>Затем в main.cpp подключаю

Для начала переименуй main.cpp в main.c

Ибо в файле 5510drv.h нет строчечки extern "C"

Потому-что идёт искажение имён, в obj файле функция обзывается типа @ADAMDelay$qi, на не _ADAMDelay как в библиотеке гutilitys.lib

Если понял о чём я написал, то всё получиться, если нет стукнись ICQ 244926182

Наверх
compm2001 Смотреть выпадающим
Участник
Участник


Присоединился: 09 Июнь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 78
Свойства публикации Свойства публикации   Ответить, цитируя автора - compm2001 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Июль 2005 09:14
Переименовал main.cpp в main.c. Внес эти изменения в проект. Теперь пишет следующие ошибки (хотя я и не вызывал ни какую функцию, main.c - пустой, в смысле одна main и включение "5510drv.h"):
Linker Error: Undefined symbol _FilterCh in module UTILITYS;
Linker Error: Undefined symbol _DIModuleCh in module UTILITYS;
Linker Error: Undefined symbol _DISlotPos in module UTILITYS;
Linker Error: Undefined symbol _HighWidth in module UTILITYS;
Linker Error: Undefined symbol _LowWidth in module UTILITYS;
Может у меня компилятор не тот. В About'e написано Borland Turbo C++ 3.0 92-года. И если использовать только С то это значит что отказаться от использования классов и еще много чего на что я так рассчитывал, или есть какой-то еще способ...
Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Июль 2005 11:12

Первоначально опубликовано compm2001

Linker Error: Undefined symbol _FilterCh in module UTILITYS;
Linker Error: Undefined symbol _DIModuleCh in module UTILITYS;
Linker Error: Undefined symbol _DISlotPos in module UTILITYS;
Linker Error: Undefined symbol _HighWidth in module UTILITYS;
Linker Error: Undefined symbol _LowWidth in module UTILITYS;

Эти символы находятся в hio*.lib

Инженер-системотехник
+7 (916) 477 3925
Наверх
compm2001 Смотреть выпадающим
Участник
Участник


Присоединился: 09 Июнь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 78
Свойства публикации Свойства публикации   Ответить, цитируя автора - compm2001 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Июль 2005 11:30
Максим Ананских
Эти символы находятся в hio*.lib

Добавил в проект файл "hios.lib". Теперь все компилируется нормально, но когда я пытаюся вызвать какую нибудь функцию, например ADAMdelay(500) - и ошибка. Linker Error: Undefined symbol ADAMdelay(500) in module main.c.
Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Июль 2005 11:58

Первоначально опубликовано compm2001

Undefined symbol ADAMdelay(500) in module main.c.

А ADAMdelay - в utility*.lib

Инженер-системотехник
+7 (916) 477 3925
Наверх
compm2001 Смотреть выпадающим
Участник
Участник


Присоединился: 09 Июнь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 78
Свойства публикации Свойства публикации   Ответить, цитируя автора - compm2001 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Июль 2005 12:30
Первоначально опубликовано Максим Ананских

Первоначально опубликовано compm2001

Undefined symbol ADAMdelay(500) in module main.c.


А ADAMdelay - в utility*.lib




Да, я понимаю, у меня UTILITYS.LIB в проект добавлена... Что то еще нужно...
Может компилятор не тот, можно ссылочку с компилятором который действительно подходит. Или если не затруднит на е-mail можно скинуть coderinside@mail.ru.
Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Июль 2005 12:46

Я пробовал в Borland C++ 3.1, все компилируется. Посмотрите, может у Вас опция "Generate underbars" не установлена в Advanced code generation?

Инженер-системотехник
+7 (916) 477 3925
Наверх
 Ответить Ответить Страница  12>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz