Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Технологии программирования > Железо. Написание драйверов
Перезагрузить страницу Проблема при линковке проекта драйвера
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
АнтонC
Guest
 
Сообщений: n/a
По умолчанию Проблема при линковке проекта драйвера - 13.07.2005, 11:24

Пишем XP-драйвер для ps/2 (сканер штрих-кодов) в виде dll... Используем MSVC 6.0. Исправили уже все ошибки компиляции, которые могли и дошли до этапа линковки проекта, накотором возникли непреодолимые сложности. Сообщает следующее:

--------------------Configuration: kbd - Win32 Debug--------------------
Linking...
kbfiltr.obj : error LNK2001: unresolved external symbol __imp__IoDeleteDevice
kbfiltr.obj : error LNK2001: unresolved external symbol __imp__IoAttachDeviceToDeviceStack
kbfiltr.obj : error LNK2001: unresolved external symbol __imp__IoCreateDevice
kbfiltr.obj : error LNK2001: unresolved external symbol __chkesp
kbfiltr.obj : error LNK2001: unresolved external symbol __imp__KeSetEvent
kbfiltr.obj : error LNK2001: unresolved external symbol __imp__IoDetachDevice
kbfiltr.obj : error LNK2001: unresolved external symbol __imp__KeWaitForSingleObject
kbfiltr.obj : error LNK2001: unresolved external symbol __imp__KeInitializeEvent
kbfiltr.obj : error LNK2001: unresolved external symbol __imp__PoCallDriver
kbfiltr.obj : error LNK2001: unresolved external symbol __imp__PoStartNextPowerIrp
LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
Debug/kbd.dll : fatal error LNK1120: 11 unresolved externals
Error executing link.exe.

kbd.dll - 12 error(s), 0 warning(s)

-- т.е. не ликуются известные стандартные функции типа IoDeleteDevice и т.п...

ВОПРОС: КАК ПРАВИЛЬНО РАЗРАБАТЫВАТЬ ПРОЕКТЫ ДРАЙВЕРОВ УСТРОЙСТВ В MSVC 6.0, ЧТОБЫ ИЗБЕЖАТЬ ВСЕХ ЭТИХ ПРОБЛЕМ С ЛИНКОВКОЙ НЕОБХОДИМЫХ (НЕИЗВЕСТНО КАКИХ!) СИСТЕМНЫХ БИБЛИОТЕК?
Ответить с цитированием
  (#2 (permalink)) Старый
EnTech EnTech вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.07.2005
По умолчанию Re: Проблема при линковке проекта драйвера - 13.07.2005, 15:53

Цитата:
Originally posted by АнтонC+-->
Цитата:
Пишем XP-драйвер для ps/2 (сканер штрих-кодов) в виде dll... ?
Kernel-mode драйверы не пишутся в виде dll, а только в виде sys...

<!--QuoteBegin-АнтонC

[b]Используем MSVC 6.0.
Можно, если очень точно знаешь все ключи компиляции, но это не рекомендуется. Надо использовать утилиту build, управляемую файлом sources.
Если хочешь "жить в IDE", тогда скачай батник с www.osronline.com,
создай в MSVC makefile-project и вызывай этот батник.


Цитата:
Originally posted by АнтонC
[b]ВОПРОС: КАК ПРАВИЛЬНО РАЗРАБАТЫВАТЬ ПРОЕКТЫ ДРАЙВЕРОВ УСТРОЙСТВ В MSVC 6.0, ЧТОБЫ ИЗБЕЖАТЬ ВСЕХ ЭТИХ ПРОБЛЕМ С ЛИНКОВКОЙ НЕОБХОДИМЫХ (НЕИЗВЕСТНО КАКИХ!) СИСТЕМНЫХ БИБЛИОТЕК?
Надеюсь, ответил.
Ответить с цитированием
  (#3 (permalink)) Старый
Olesya Olesya вне форума
Member
 
Сообщений: 1,485
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.06.2002
По умолчанию 14.07.2005, 01:08

К книге O'Reily прилагается примочка к MS VC 6 которая позоляет генерить проэкты драйверов.
И ею пользовался когда такими делами занимался.
Ответить с цитированием
  (#4 (permalink)) Старый
EnTech EnTech вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.07.2005
По умолчанию 14.07.2005, 08:05

Цитата:
Originally posted by Olesya
[b]К книге O'Reily прилагается примочка к MS VC 6 которая позоляет генерить проэкты драйверов.
И ею пользовался когда такими делами занимался.
Я сам этим пользовался. Это *было* справедливо, но не справедливо сейчас. Вот типовой вопрос и типовые ответы в этой ситуации:
--
Q: just curious but what are the differences between visual studio compiler and ddk compiler?

A1: The compiler build version is different, and the recent DDKs have more recent one. The set of command-line switches is different.

A2: Go get DDKBUILD from http://www.hollistech.com/. YOU SHOULD NEVER TRY TO BUILD A DRIVER DIRECTLY FROM VISUAL STUDIO!!! DDKBUILD provides a way to invoke the command line build environment from Visual Studio. Using Visual Studio directly means you will likely produce subtle bugs if you do get things right. Also, using visual studio directly means you cannot use a number of the checking tools the DDK provides.

-----

Полностью присоединяюсь к этим ответам, поскольку прочувствовал это на своей шкуре
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с установкой драйвера andrewgunner Драйвера 2 03.04.2012 09:47
ошибка в линковке oleg.voropay C++ Builder 6 30.03.2012 10:54
Проблема с переустановкой драйвера Bobby1712 Видеосистема 0 21.11.2011 00:09
проблема с удалением драйвера Зыбин Илья Геннадьевич Драйвера 3 03.09.2011 16:58
Проблема с установкой драйвера сетевой карты Леонид23 Драйвера 18 02.09.2011 18:41
Проблема с установкой драйвера Realtek AC`97 Андрюха_37 Звук и акустические системы 8 07.01.2011 19:27
Проблема установки драйвера SATA андрей мишин Любые вопросы от новичков 0 11.11.2010 21:01
Проблема с установкой драйвера на звук. fil26 Любые вопросы от новичков 2 25.09.2010 14:30
Проблема со сборкой драйвера сложная конструкция alx000 С/С++ 1 23.06.2010 18:56
Windows при загрузке указывает на ошибку драйвера, как узнать в чем проблема? Мото Любые вопросы от новичков 5 12.12.2008 15:45
проблема с установкой видео драйвера m-patio Видеосистема 11 01.11.2007 12:23
Проблема с отладкой простого драйвера под Linux bugZex Общие вопросы программирования 1 07.05.2007 09:54



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов