Сейчас на форуме: tyns777 (+5 невидимых)

 eXeL@B —› Программирование —› Компиляция драйвера без ссылки на *.pdb
Посл.ответ Сообщение

Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 20 декабря 2007 14:08
· Личное сообщение · #1

Привет.
Такая ситуация.
Есть VC++ 6.0, поставил DDK 2000. Компилирую свой драйвер.
Написал makefile и sources, всё вроди нормально - драйвер собирается.
Но в конечный бинарник как в free так и в checked конфигурации добавляется путь к pdb файлу.
Как это вылечить не редактируя DDK makefile.def?
Пока получилось так: build -ecZL, т.е. только компиляция, а линкер потом руками запускать...
Но как-то это не очень, может есть человеческий способ.




Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 20 декабря 2007 15:00
· Личное сообщение · #2

rootkits.ru/viewtopic.php?pid=1792#p1792

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 20 декабря 2007 15:18
· Личное сообщение · #3

Это я уже читал, не погло :/
В смысле я не понял где коментировать LINKER_DBG_SECTION.
У меня в makefile его нет, даже в makefile.def его нет, хотя DDK'шные файлы редактировать бы оч. не хотелось.




Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 20 декабря 2007 15:26
· Личное сообщение · #4

Сравнение файлов makefile.new и MAKEFILE_OLD_NOT_PATCHED.NEW
***** makefile.new
!if !defined(TARGETPDB) && "$(SXS_USE_LONG_PDB_NAME)" == "1" && !defined(SXS_AUTO_VERSION)
LINKER_FLAGS=$(LINKER_FLAGS) -pdb:none
!endif
***** MAKEFILE_OLD_NOT_PATCHED.NEW
!if !defined(TARGETPDB) && "$(SXS_USE_LONG_PDB_NAME)" == "1" && !defined(SXS_AUTO_VERSION)
LINKER_FLAGS=$(LINKER_FLAGS) -pdb:$(TARGETPATH)\$(TARGET_DIRECTORY)\$(SXS_LONG_PDB_NAME).pdb
!endif
*****

***** makefile.new
# Resource only DLL's have no exports, no entrypoint, no code, no data, no debug symbolic.
#LINKER_DBG_SECTION=-debug:NONE
NO_DLL_EXPORTS=1
***** MAKEFILE_OLD_NOT_PATCHED.NEW
# Resource only DLL's have no exports, no entrypoint, no code, no data, no debug symbolic.
LINKER_DBG_SECTION=-debug:NONE
NO_DLL_EXPORTS=1
*****

***** makefile.new
!else
#LINKER_DBG_SECTION=-debug
AFX_FORCE_STDAFX=/include:__afxForceSTDAFX
***** MAKEFILE_OLD_NOT_PATCHED.NEW
!else
LINKER_DBG_SECTION=-debug
AFX_FORCE_STDAFX=/include:__afxForceSTDAFX
*****

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 20 декабря 2007 15:34
· Личное сообщение · #5

Дык а чё это за makefile??
Это makefile.def из директории DDK?




Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 20 декабря 2007 15:39
· Личное сообщение · #6

да

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 20 декабря 2007 15:52
· Личное сообщение · #7

О, в общем разобрался как без редактирования makefile.def убрать эту бяку
Спасибо tnt17 за наводку
Вот мой мэйкфайл:

#
# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
# file to this component. This file merely indirects to the real make file
# that is shared by all the driver components of the Windows NT DDK
#
RESOURCE_ONLY_DLL = 1
!INCLUDE $(NTMAKEENV)\makefile.def


Эфект аналогичный закоментированной строке в makefile.def, вроди побочных эффектов пока не заметил.
Может быть пока...


 eXeL@B —› Программирование —› Компиляция драйвера без ссылки на *.pdb
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати