Примеры компиляции программ Win32 API (через командную строку) в Windows - PullRequest
1 голос
/ 20 сентября 2009

Попытка сделать что-то очень простое - скомпилировать основные программы win 32 c через windows cmd. Это то, что я должен сделать сам, но я просто застрял здесь ..

Я продолжаю сталкиваться со странными проблемами, смутными ошибками. Я не знаю, должен ли я вдаваться в подробности. Использование tcc (крошечный компилятор c)

  1. Один простой пример hellowin.c из книги требует winmm.lib. Как я могу импортировать это? Может кто-нибудь дать мне точную команду для gcc / tcc / любой компилятор командной строки для Windows (кроме Cygwin)? Я пробовал разные варианты после прочтения справки, но это продолжало давать мне сообщение «Не могу найти глупую ошибку».

  2. пример с платформы SDK, который я пытался скомпилировать, дал - winnt.h "(ожидаемая" ошибка. Это после #define _M_IX86. Что это значит?

  3. какое-нибудь общее руководство по компиляции c-программ для windows (win32 api) через командную строку? , объясняя, что все должно быть #defined ..etc ..

Я много гуглил, но большинство рекомендаций по компиляции c для программ win32 сосредоточены на vb. Я хочу сделать это вручную, в командной строке.

Спасибо

Ответы [ 4 ]

1 голос
/ 14 октября 2009

Загрузите Windows PlatformSDK, и он поставляется с собственным компилятором командной строки. Он создает ярлык Пуск-> Программы -> ..., чтобы открыть командную строку для 32-разрядной или 64-разрядной. Выберите 32-битный вариант, и вы получите полностью инициализированную командную строку с компилятором в вашем PATH и всем набором INCLUDE, LIB и LIBPATH.


cmd> cl hello.c


Это должно дать вам hello.exe. Для получения дополнительной помощи по компилятору "cl /?", Для компоновщика "link /?"

1 голос
/ 20 сентября 2009

Если я создаю новый проект с использованием Visual Studio, он # определяет следующие символы препроцессора с использованием параметров командной строки компилятора:

  • WIN32
  • _WINDOWS
  • один из _DEBUG или NDEBUG
  • UNICODE и _UNICODE (хотя заголовки и библиотеки Windows также поддерживают приложения без поддержки Unicode, если ваш компилятор не поддерживает Unicode).

http://bellard.org/tcc/tcc-doc.html говорит "Для использования в Windows, см. Также tcc-win32.txt".

0 голосов
/ 20 сентября 2009

Вы можете попробовать gcc из уравнения.com . Это компилятор Mingw, но вам не нужно беспокоиться о Mingw: просто скачайте, установите и используйте. Там тоже нет IDE.

Страница загрузки: http://www.equation.com/servlet/equation.cmd?fa=fortran.

0 голосов
/ 20 сентября 2009

Похоже на тот тип компилятора, который может искать пути INCLUDE и LIB в среде. Если вы делаете «set» в командной строке и не видите этих переменных в списке, вы можете попытаться установить для них пути, которые использует ваш компилятор. Не уверен, где бы вы установили этот инструмент tcc, но найдите каталоги с именами «include» и «lib» и попробуйте назначить их вышеупомянутым переменным окружения.

...