Мое почтение всем. А есть ли у кого библиотека от DriverStudio (.lib файл), чтобы код, написанный с использованием DS можно было скомпилировать? В чем проблема: у заказчика на руках код драйвера, написанный в какие-то дремучие годы с помощью DS. И заказчик не уверен, что код полный и рабочий. Чтобы проверить, он решил собрать 32битную версию драйвера и посмотреть, как будет работать. Я к такому способу отношусь несколько скептически, но он настаивает. Короче, надо собирать библиотеку DriverStudio. Совеременный WDK ее не очень-то переваривает, build.exe выдает гигантское количество ошибок. Возиться с этим не очень хочется, может у кого-то есть их библиотека в собранном виде? Как вариант, можно, конечно, поставить ddkbuild и т.д., но этот путь тоже непрост, думаю. В общем, ищу пути безболезненной сборки драйвера, буду рад библиотеке и советам. Заранее благодарен.
h0t У меня даже лицензионная версия есть . Я DS поставил, но довольно давно. Помню, что-то там нещадно с ней творил, в итоге нет ни нормальных исходников, ни библиотеки. И помню, что была куча проблем. В общем-то, можно просто переустановить на новую VM, но внезапно столько всего навалилось, что нет ни времени, ни сил с этим всем возиться. Хотя, видимо, придется. Потому и решил попробовать облегчить путь немного.
Так, пришлось собирать самому. Часть ошибок исправил, но осталась вот такая неприятность: buildfre_win7_x86.log: 1>kstl.cpp 1>f:\program files\compuware\driverstudio\common\include\stl\cstdlib(25) : fatal error C1083: Cannot open include file: '../crt/cstdlib': No such file or directory cstdlib: 24: # if defined (_STLP_USE_NEW_C_HEADERS) 25: # include _STLP_NATIVE_CPP_C_HEADER(cstdlib) 26: # else 27: # include _STLP_NATIVE_C_HEADER(stdlib.h) 28: # endif Опуская промежуточные макросы, определение сводится к: stl_msvc.h: Код (Text): // Common features for VC++ 4.0 and higher # ifdef _M_IA64 # define _STLP_NATIVE_HEADER(x) <../crt/##x> # define _STLP_NATIVE_C_HEADER(x) <../crt/##x> # define _STLP_NATIVE_CPP_C_HEADER(x) <../crt/##x> # define _STLP_NATIVE_OLD_STREAMS_HEADER(x) <../crt/##x> # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../crt/##header> # define _STLP_GLOBAL_NEW_HANDLER # else # if (_MSC_VER < 1300) // For DDKs without compiler, like Win2000 DDK and below. // It finds ctype.h in VC98\ATL\INCLUDE\..\..\include. # define _STLP_NATIVE_HEADER(x) <../../include/##x> # define _STLP_NATIVE_C_HEADER(x) <../../include/##x> # define _STLP_NATIVE_CPP_C_HEADER(x) <../../include/##x> # define _STLP_NATIVE_OLD_STREAMS_HEADER(x) <../../include/##x> # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../../include/##header> # else // For DDKs with compiler, starting from XP DDK. It finds ctype.h in CRT_INC_PATH\..\crt. # define _STLP_NATIVE_HEADER(x) <../crt/##x> # define _STLP_NATIVE_C_HEADER(x) <../crt/##x> # define _STLP_NATIVE_CPP_C_HEADER(x) <../crt/##x> # define _STLP_NATIVE_OLD_STREAMS_HEADER(x) <../crt/##x> # define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../crt/##header> # endif # endif Переменная CRT_INC_PATH в среде компилирования определена, но в макросах почему-то не используется. Можно, конечно, исправить макросы (сейчас попробую), но есть ощущение, что где-то чего-то не хватает. Если кто-то сталкивался, подскажите. Еще одна странная вещь: запускаю среду компилирования для Win XP, но в процессе запуска "bldlib.bat free wdm" из среды компилирования, компиляция происходит для Win7 (даже заголовок консоли меняется). Это несколько обескураживает .