Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Собрать проект на WDK |
Автор: Mechatronic 10.2.2016, 18:57 | ||
Доброго времени суток. Прошу консультации по следующему вопросу. Студент принес код на WinAPI, добытый из интернета (архив приложен), который должен собираться с помощью WDK, но возникают ошибки во время линковки *exe файла - линкер не находит стандартные функции вроде printf, malloc. Сборка запускается следующей командой в директории src (согласно README в архиве).
Подскажите, пожалуйста, какие манипуляции нужно выполнить, чтобы линкер "Подхватил" нужные библиотеки. Спасибо. |
Автор: xvr 10.2.2016, 19:10 | ||
Нету их, совсем ![]() |
Автор: Mechatronic 10.2.2016, 19:14 | ||
Спасибо за ответ. Это ожидаемо. Но известно, что автор кода его как-то собирает - бинарник так же имеется в архиве. Не подскажете, как это может объясняться? |
Автор: xvr 11.2.2016, 16:32 | ||
В сорце sector.c не замечено никаких функций из stdio.h (ни printf ни malloc). Есть только строковые функции, а они в каком то виде в ядре есть (видимо прямо такие и есть ![]() То, что в тексте есть #include "stdio.h" видимо не препятствует сборке (stdio.h где то по путям есть, хотя она и не нужна) А при сборке того, что лежит в папке exe stdio.h и все его производные вполне допустимы - это обычная консольная программа И libc подается, судя по логу от сборки:
|
Автор: DarthTon 14.2.2016, 18:03 |
WDK может нормально собирать юзермодные приложения. Там даже есть поддержка CRT и STL, только немного специфичная. Просто в sources файле надо добавить ключ USE_MSVCRT=1. |
Автор: Mechatronic 15.2.2016, 19:57 | ||
В /src/exe/sector_io.c есть printf, malloc. Добавлено через 3 минуты и 35 секунд
Спасибо за подсказку! Попробуем. |
Автор: Mechatronic 15.2.2016, 20:24 |
Студент говорит, что все работает - собрали с предложенным ключом. Спасибо большое за обсуждение! |