chrys
驱动小牛
驱动小牛
  • 注册日期2002-05-30
  • 最后登录2008-07-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3456回复:6

如何用nmake手工编译C程序?

楼主#
更多 发布于:2004-11-18 00:59
D:\\NTDDK\\src\\setup\\pnpports下有一个关于安装驱动的C程序源代码,有makefile、sources、.c、.h等文件,但没有.dwp或.dsw文件,所以没办法用vc编译,这是典型的c程序,请问c程序该怎么手工编译呢?

我输入“nmake”编译时报错:

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

makefile(5) : fatal error U1052: file 'makefile.def' not found
Stop.

请问要编译c语言的源代码该如何编译?nmake到底要怎么用呢?

谢谢了!

[编辑 -  11/18/04 by  chrys]

[编辑 -  11/18/04 by  chrys]

最新喜欢:

TOMG2004TOMG20...
天才来自勤奋 知识要靠学习 [url= http://ndxz.126.com]――欢迎来我家做客――[/url]
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-18 08:30
进入DDK环境,
方法:菜单里的Win 2K Checked Build Environment或Win 2K Free Build Environment
命令行中执行build -cz而不是nmake
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2004-11-18 08:59
用DS的SOURCETODSP转换即可.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
abanwjc
驱动小牛
驱动小牛
  • 注册日期2003-12-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分29分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-18 19:35
谁说的不能vc编哦,我驱动都是用vc先编译(设置很麻烦就是了),等编译通过了最后才用DDK来free。
你直接打开一个C文件,先编译(当然编译肯定是通不过的了)生成一个对应的工作区,同时就给你生成了一个dsw文件,这时将其他全部导进去就可以编译(万一通不过,你只好自己修改一点设置了)了,当然dsw文件会被重新生成替换那个没用的。
“老婆,快搬个凳子出来,一起看火星来的楼主升天啦!”
chrys
驱动小牛
驱动小牛
  • 注册日期2002-05-30
  • 最后登录2008-07-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-11-19 15:53
谢谢你们的热心帮助,其实我是想请教怎么使用 nmake 的方法,我曾经下载过很多c语言的代码,里面只提供了makefile、sources、.c、.h文件,就是不知道怎么编译而心急如焚。所以我很想学习一下这种程序的编译方法。不知道有那位高手能赐教呢?

我曾听说过,在刚到windows时代的时候,程序员就是用c语言写windows程序的,而且没有vc这样的集成开发工具,都是手工编译的,我现在想学的就是这种手工编译c程序的方法,多谢了!!!
天才来自勤奋 知识要靠学习 [url= http://ndxz.126.com]――欢迎来我家做客――[/url]
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-11-19 16:25
搜索一下吧,这里这类帖子很多的
raodan2
驱动牛犊
驱动牛犊
  • 注册日期2004-07-09
  • 最后登录2004-11-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-11-19 16:27
Makefile类似于一个批处理,可以根据设定的一组规则执行一组操作,例如,以下就是一个简单的Makefile文件:
INCLUDEDIR=..\..\include
LIBDIR=..\..\source
SRC=$(LIBDIR)\Setting.cpp $(LIBDIR)\Arglist.cpp $(LIBDIR)\Global.cpp test.cpp

BIN=test.exe

CC=cl.exe
CFLAGS=/GX /w /I$(INCLUDEDIR) /DWINDOWS /DDEBUG

all : $(SRC)
$(CC) /Fe$(BIN) $(CFLAGS) $(SRC)
clean :
del *.obj $(BIN

当执行make的时候,会根据$(SRC)的状态执行后续的操作,也就是:
$(CC) /Fe$(BIN) $(CFLAGS) $(SRC)
完成程序的编译。

关于Makefile的详细语法格式可以在VC里面导出一个makefile,对照着学习
游客

返回顶部