Инструкция по настройке Open Watcom для Windows Host и QNX4 TargetСистемные требования -
Windows XP -
Open Watcom для
WindowsПоследнюю версию дистрибутива (v.1.7 на момент написания документа) можно свободно скачать с сайта проекта
http://www.openwatcom.org.
*Дистрибутив
OW может быть записан на компакт диск вместе с инсталлятором.
-
PerlВ
Open Watcom не входит утилита
сс (она является собственностью
QSS). Для удобства работы, как в
QNX4, нами была разработана аналогичная по синтаксису и функционалу утилита на языке
perl. Для Windows можно свободно скачать дистрибутив
Active Perl в котором есть все необходимое
http://www.activestate.com/Products/activeperl/index.mhtml.
*Дистрибутив
Active Perl может быть записан на компакт диск вместе с инсталлятором.
-
Заголовочные и библиотечные файлы из QNX4Важно! После установки дистрибутивов необходимо
перезагрузить или сделать log off Windows для применения настроек
Open Watcom и
Perl.
Формирование каталога с файлами из QNX4Общий смысл заключается в том, чтобы сделать заголовочные и библиотечные файлы
QNX4 доступными для инсталлятора. Этого можно достичь разными способами. Здесь рассматривается самый простой вариант – копирование файлов из
QNX4 в
Windows. Еще одной немаловажной деталью является – что именно копировать. Дело в том, что в ряде пакетов для
QNX4 встречаются файлы с одинаковыми именами и похожей функциональностью.
Далее следует пошаговый алгоритм:
1. По умолчанию путь для заголовочных файлов из
QNX4 -
С:\QNX4\include. Создаем этот путь.
*Если вы ходите его изменить, вам следует изменить содержимое переменной
Q4_ORIG_H в скрипте инсталлятора
setup.bat.
2. По умолчанию путь для библиотечных файлов из
QNX4 -
С:\QNX4\lib. Создаем этот путь.
*Если вы ходите его изменить, вам следует изменить содержимое переменной
Q4_ORIG_L в скрипте инсталлятора
setup.bat.
3. В каталог
С:\QNX4\include копируем все содержимое следующих каталогов
QNX4:
•
/usr/watcom/10.6/usr/include/ для использования
Watcom Compiler. Кроме файла
String.h (с большой буквы S).
•
/usr/tcptk/4.25/usr/include/ для использования
TCP/IP TK. В этом каталоге есть одинаковые по имени файлы каталога
Watcom. При перезаписи файлами
TCP/IP TK устанавливается настройка
QNX4 по умолчанию.
Прочие заголовочные файлы копируются аналогичным образом.
4. В каталог
С:\QNX4\lib копируем все содержимое следующих каталогов
QNX4:
•
/usr/watcom/10.6/usr/lib/ для использования
Watcom Compiler.
•
/usr/tcptk/4.25/usr/lib/ для использования
TCP/IP TK. В этом каталоге есть одинаковые по имени файлы каталога
Watcom. При перезаписи файлами
TCP/IP TK файлов
Watcom устанавливается настройка
QNX4 по умолчанию.
Прочие библиотечные файлы копируются аналогичным образом.
Запуск инсталятораЗапустите файл
setup.bat из дистрибутива. Все операции установки файлов поделены на логические этапы. Следующий этап начинается по нажатию клавиши. Если при выполнении скрипта возникают ошибки, проверьте правильность размещения исходных файлов и соответствующие пути в конфигурационной области скрипта (обозначена как Configuration Area).
При перезапуске, инсталлятор сначала удаляет все предыдущие установки (с подтверждением), после чего ставится новая копия указанных в скрипте файлов. Файлы Open Watcom и сформированного вами QNX4 каталога инсталлятором не затрагиваются.т Поскольку инсталлятор организован в виде открытого скрипта для Cmd.exe, вы может сами проверить правильность установки и при необходимости изменить ее ход.
Компиляция и сборка приложенийПри успешной установке вы должны получить подготовленную среду для сборки приложений под
QNX4 из консоли cmd. Например, теперь приложение Hello, World на языке
Си можно собрать так:
cc –o hello hello.cА такое же приложение на языке
Си++, так:
cc –o hello_cpp hello_cpp.cppДля запуска под
Windows, утилита
сс преобразована в .
bat файл, который по
умолчанию копируется в
%WATCOM%\binnt (присутствует в PATH). Если у вас в системе присутствуют утилиты
сс других дистрибутивов, может понадобиться переименование или вызов с полным путем. Для вызова
сс (на самом деле
cc.bat) внутри другого
.bat файла нужно применять команду
call cc [параметры].
На выходе вы получите
.obj и
.qnx файлы. Файлы с расширением
.qnx являются исполняемыми файлами
QNX4. Их следует перенести на
QNX4-машину, добавить права на выполнение и после этого их можно запускать.
Если вы не используете утилиту
сс в своей работе, вы можете вызывать компиляторы и линкер напрямую. Обратите внимание, что по умолчанию инсталлятор устанавливает заголовочные файлы в каталог
%WATCOM%\h\qnx4, а библиотеки в каталог
%WATCOM%\lib386\qnx4.
Отладка приложенийВ составе дистрибутива инсталлятора идут файлы сервера отладки. Они копируются в каталог
%WATCOM%\binq. Файлы
tcpserv и
std.trp следует перенести на целевую
QNX4-машину, cерверу отладки
tcpserv следует добавить права на выполнение. Обратите внимание на то, что в поставке
QNX4 присутствует сервер отладки из
Watcom 10.6, который не совместим с
Open Watcom. Как следует из названия,
tcpserv - это сервер работающий через
TCP/IP протокол. Его задача запустить и контролировать
QNX4-приложение согласно командам удаленного отладчика (
wd).
Со стороны
QNX4 нужно запустить сервер следующим образом:
# tcpserv /trap=std.trpСо стороны
Windows можно запускать консольный (
wd) или графический интерфейс (
wdw). Для облегчения работы с настройками под
Windows создана графическая утилита
wdc_tcp, которую после инсталляции можно найти в
%WATCOM%\binnt.
Более подробно об отладке
Watcom-утилитами и их синтаксисе можно почитать в документе
Open Watcom Debugger User’s Guide (в частности, глава 10.
Remote Debugging) с сайта проекта.
Для отладки в исходных кодах необходимо скомпилировать приложение в
отладочном варианте. При компиляции с помощью
сс нужно указать ключ
–g3.
Особенности Open Watcom Windows Host• Объектные файлы, которые генерирует компилятор
OW С++ не совместимы с оригинальными
С++ библиотеками из
QNX4.
С++ библиотека
OW (как прежде и
Watcom) является независимой от платформы и претерпела существенные изменения. Поэтому все заголовочные и библиотечные файлы
С++ из
QNX4 заменяются на аналогичные из
OW. При работе с
С++ стоит использовать источники информации для
OW. Подробнее смотрите на сайте проекта.
• В
QNX4 файл
String.h (с большой буквой S) является
С++ заголовочным файлом и точной копией
string.hpp, который реализует класс String. В том же каталоге присутствует файл
string.h (с маленькой буквой s), который декларирует
Си-функции по работе со строками (
strcpy,
strlen, и п.р.). Для *
nix систем такое соседство естественно, но при копировании этих файлов в
Windows возникает противоречие в связи с тем, что
MS-системы не различают уровня регистра. Следует скопировать лишь
string.h для
Си и
string.hpp для
Си++. Последний рекомендуется включать в код на
Си++ в качестве заголовочного файла вместо
String.h.
Автор статьи: Михаил Колесов
Установочный скрипт и дополнительные программы для Windows:ow_q4_win_20081224.zip