在Windows上编译win32 api c程序(通过命令行)的示例

时间:2009-09-20 15:42:36

标签: c windows compilation tcc

尝试做一些非常简单的事情 - 通过windows cmd编译基本的win 32 c程序。这是我自己应该做的事情,但我只是被困在这里..

我一直绊倒奇怪的问题,模糊的错误。我不知道我是否应该详细介绍。 使用tcc(tiny c compiler)

  1. 书中的一个简单的hellowin.c示例需要winmm.lib。我该如何导入它?有人可以给我gcc / tcc / windows命令行编译器(cygwin除外)的确切命令吗?我在阅读帮助后尝试了各种选项,但它一直给我一个找不到愚蠢的错误。

  2. 我尝试编译的平台sdk中的一个示例给出了一个-winnt.h“(预期”错误。这是在#define _M_IX86之后。这意味着什么?

  3. 通过命令行编译windows(win32 api)的c程序的一般指南? 。解释所有应该是#defined ..etc ..

  4. 我已经google了很多,但是大多数针对win32程序的c编译指南都集中在vb上。我想在命令行上手动完成。

    由于

4 个答案:

答案 0 :(得分:1)

如果我使用Visual Studio创建一个新项目,#使用编译器命令行选项定义以下预处理器符号:

  • WIN32
  • _WINDOWS
  • 其中一个_DEBUGNDEBUG
  • UNICODE_UNICODE(尽管Windows标头和库也支持非启用Unicode的应用程序,如果您的编译器不支持Unicode)。

http://bellard.org/tcc/tcc-doc.html说“要在Windows上使用,请参阅tcc-win32.txt”。

答案 1 :(得分:1)

下载Windows PlatformSDK,它附带自己的命令行编译器。它创建了一个快捷方式Start-> Programs-> ...来打开32位或64位的命令提示符。选择32位变体,您将获得一个完全初始化的命令提示符,其中包含PATH中的编译器以及所有INCLUDE,LIB和LIBPATH集。


CMD> cl hello.c


这应该给你hello.exe。有关编译器“cl /?”的更多帮助,请参阅链接器“link /?”

答案 2 :(得分:0)

听起来像是可能在环境中寻找INCLUDE和LIB路径的编译器。如果在命令行上执行“设置”并且未看到列出的这些变量,则可以尝试将它们设置为编译器使用的路径。不知道你在哪里安装这个tcc工具,但查找名为'include'和'lib'的目录,并尝试将它们分配给上述环境变量。

答案 3 :(得分:0)

您可以从equation.com尝试gcc。它是一个mingw包装的编译器,但你不必担心mingw:只需下载,安装和使用。也没有IDE。

下载页面位于 http://www.equation.com/servlet/equation.cmd?fa=fortran