Официальный форум СВД Встраиваемые Системы
07 Сентября, 2010, 04:08:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: OpenWatcom: библиотеки для QNX4  (Прочитано 248 раз)
Олег Большаков
Администратор
Старожил

Сообщений: 1505



WWW
« : 09 Марта, 2010, 02:17:24 »

Дополнительные библиотеки QNX4 при работе с OpenWatcom

Библиотека owc

При активной работе с OpenWatcom, рано или поздно, разработчик сталкивается с ошибками при сборке (линковке) программы, примерно следующего вида:

Код:
Error! E2028: __I8M is an undefined reference
Error! E2028: __I8RS is an undefined reference
Error! E2028: __I8LS is an undefined reference
Error! E2028: __I8D is an undefined reference

Это функции умножения, деления и сдвига, вызов которых вставляет компилятор, в надежде на то, что они (функции) будут обнаружены при линковке в clib. Однако, в clib из QNX4 таких функций нет. Решением этой проблемы может быть сборка библиотеки с недостающими функциями. Назовём такую библиотеку owc.

Если при сборке приложений с помощью OpenWatcom, возникают указанные выше ошибки, то необходимо добавить опцию -l owc линковщику. Можно добавить функции библиотеки owc в clib от QNX4, например, так:

Код:
$ wlib -q -b -c clib3r.lib owc3r.lib

После этого не нужно будет заботиться о добавлении опции -l owc. Smiley

Изменения в библиотеке math

При работе над сборкой библиотеки xml2 для QNX4 при помощи OpenWatcom, я столкнулся с необходимостью использовать библиотеку math из OpenWatcom. Точнее мне понадобились некоторые функции из нового заголовочного файла math.h. Просто так заменить библиотеку math не получится, т.к. некоторые функции типа _FtoS, __Nan_Inf и т.д. отсутствуют в новой библиотеке. К счастью, эти функции есть в исходном коде OpenWatcom, так что решением проблемы может быть включение указанных функций в новую библиотеку.

Сборка библиотек

Для сборки библиотек на базе OpenWatcom 1.8.0 был подготовлен Makefile. Всё что нужно, это скачать файл, изменить значения переменных WATCOM_SRC и WATCOM_BIN, которые должны указывать соответственно на каталоги с исходным кодом и собранным OpenWatcom. После этого набираем make и получаем две библиотеки: owc3r.lib и math387r.lib. Копируем эти библиотеки туда, где их может найти утилита cc для OpenWatcom (math387r.lib поверх старой), копируем math.h из каталога h бинарной версии OpenWatcom поверх старого math.h из QNX4. Теперь можно попробовать что-нибудь собрать. Wink

Замечания и дополнения приветствуются. Скачать Makefile для сборки библиотек могут только зарегистрированные пользователи.

<-->
« Последнее редактирование: 09 Марта, 2010, 13:02:21 от Олег Большаков » Записан

CBD BC engineer<-->
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2010 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС Rambler's Top100

В последний раз google посещал эту страницу 16 Августа, 2010, 20:32:26