Подскажите пожалуйста как скомпилировать екзешку например с MessageBoxA без подключения windows.h и других библиотек в MS VC++ 2005.
Это не библиотеки, это заголовочные файлы. Можно перенести прототипы ф-ий в сам .c файл, например. А зачем это нужно?
Ну объявить просто: Код (Text): extern "C" int __stdcall MessageBoxA (void*,const char*,const char*,unsigned); можно ещё HWND объявить: Код (Text): struct HWND__ { int unused; }; typedef HWND__ *HWND;
На практике - никакого смысла. Ну, если я отдаю прогу клиенту, то обычно говорю, что для ее сборки требуются: 1. [список библиотек ] 2. [список .h файлов ] 3. [список утилит ]
rudik Я так понимаю, Вы используете Express Edition, в комплекте которой нет соответствующих заголовочных файлов и библиотек. Установите Platform SDK. Последний доступен для бесплатного скачивания на microsoft.com. http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm Или вот Вам все необходимые файлы (.7z, 41,7 Мб): http://rapidshare.com/files/128979573/SmallPSDK.7z
создайте hello, world на си. наберите: gcc -save-temps hello.c Посмотрите на один из файлов. На самый большой. Это - ваше hello без инклуд. ВСЕ инклуды в одном файле. Можете его откомпилить - получите тот же hello