|
|
ru.nethack- RU.NETHACK ------------------------------------------------------------------- From : ‘ҐаЈҐ© †Ґ«®ў 2:5020/400 21 Mar 2002 19:26:53 To : All Subject : вопрос по компилированию в ДДК --------------------------------------------------------------------------------
Добрый день!
Hе знаю, к кому обратиться, поэтому спрашиваю Вас.
Хочу написать фаэрвол под винду98 для протокола TCP/IP, через написание
собственного
драйвера.
Рассматриваю инфу по DDK98, DDK2000, Numega Driver Studio, разные статьи из
инета. Остановился на написании фаэрвола на основе TDI-фильтра.
Пытаюсь скомпилить пример из Numega Driver Studio. Пример
VToolsD\Examples\C\HookTDI. Пример состоит из нескольких h-файлов, hooktdi.c
и hooktdi.mak.
Запускаю DDK Free Build Environment. При компиляции ( nmake /f hooktdi.mak )
говорит, что не задан компилятор. Hашел в VToolsD\Include (порылся по
..mak-файлам), что подгружается user.mak, в нем прописал COMPILER=MS6 (у меня
вижуал студио 6.0). Теперь начинает компилить, пишет разные SET, в том числе
и с hooktdi.obj, и говорит, что не найден ./hooktdi.c.
Смотрел по мак-файлам, чего она там пытается сделать. Почитал доку еще.
Hашел, что все происходит в ms.mak (этот мак подгружается, т.к. у меня
компилер выставлен в MS6). Оказалось, что не задана переменная C32. Там
стоит такая строка
$(C32) $<
и она преобразовывает $(C32) в пустую строку, а $< в hooktdi.c. Ладно,
поставил вместо $(C32) просто cl. По идее там еще директивы компиляции
должны были бы стоять. Чуть выше определено SET CL=<нечто>, <нечто> очень
напоминает директивы компиляции. Пробовал ставить cl $(CL) $<, но не
помогло, т.к. вместо $(CL) подставляется тоже пустая строка (!) Хотя выше
она описана, и непустая. (Как я вижу, что там запускается? Запускаю nmake с
ключом /N - и он показывает выполняемые строки, но не выполняет их). Если
кто знает, где почитать про команды внутри мак-файлов, напишите, плиз.
Может, где-то в ДДК и есть, но я не дошел до этого пока. В частности, мне
непонятно, почему не прохавалось значение $(CL). Или: через команду echo как
посмотреть значение переменной? У меня не получилось, максимум, что вышло -
нечто типа [echo "here1"]. Ладно. Оставил в злополучной строке просто cl $<.
Теперь компилит, создает obj файл, и еще несколько файлов, но vxd не
создает. И еще какая-то ошибка по пути всплывает, уж не помню навскидку,
какая. Устал я с этим бороться. Видно, где-то чего-то не прописано. Ведь это
всё должно и без меня работать, без моего копания по кучи mak-файлов!
Кто знает, в чём дело, подскажите, плиз!
Может, у кого получалось скомпилить этот пример? в VTOOLSD\Examples\C все
примеры такие - несколько (или один) h-файлов, сишник, и мак-файл. Даже
пример SIMPLE скомпилить не могу! :(
С уважением,
serenatoor.
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.nethack/115d642f2a6.html, оценка из 5, голосов 10
|