阅读:2857回复:23
又是一个极其郁闷的问题。快疯了。。。。。
各位大侠有没有遇到下面的情况的:
我第一天晚上把一个函数已经调试正确了, 但是第二天,自己就又不正确了, 而且不管你怎么改, 它总是报那些我第一次调试时候出的错误。 后来我把报错的语句注释了 还是在那一行报同样的错误, 我又把整个函数体都注释了。。。。。。。 它还是报那几行,同样的错误。。。 郁闷啊! 那位大侠遇到过这种情况啊? 谢谢指教, 小弟实在是没有办法了。。。。。 :( :( |
|
|
沙发#
发布于:2007-03-15 15:34
黑复杂的问题
|
|
板凳#
发布于:2005-01-21 08:59
刚进了32位环境编译还是有错误,
而且提示的错误比以前更多了(不能正确的编译与链接) 在32位环境编译DDK例子的时候 也是提示错误: 跟64 位中的错误相似 NMAKE : U1073: don't know how to make 'c:NTDDKlibchkia64wdm.lib' Stop. BUILD: nmake.exe failed - rc = 2 不过用不同的例子就是上面错误中对应 的库的名字不同。 我重装的DDK。 不会是我的DDK有问题了吧? |
|
|
地板#
发布于:2005-01-21 08:44
[quote][quote把中间文件delete然后编译就应该可以了 还有就是我刚说的不能生成。sys文件的问题。 我刚用checked环境编译了DDK下的一个例子。 虽然没有warning。但是编译链接之后也是提示一样的错误 NMAKE : U1073: don't know how to make 'c:NTDDKlibchkia64wdm.lib' Stop. BUILD: nmake.exe failed - rc = 2 这是什么原因那? [/quote] 1、 中间临时文件就是编译是生成的文件,具体在Debug,check,free,release文件夹里,把这些文件删除即可,再重新编译 2、 环境问题,编译出错是找不到库文件: c:\NTDDK\lib\chk\ia64\wdm.lib 确定该文件是否存在,不存在可能没安装上 是否使用了编译64位版本 如果是32位,就不要编译64位的了 [/quote] 大侠 我刚看了 有wdm。lib这个库文件啊 这个文件具体的路径里没有ia64, 是ntddk\libcheck\i386\wdm.lib ntddk\lifre\.i386\wdm.lib 还有一个就是:ntddk\lib\i386\free\wdm.lib 就是这个样子 了。 还有您所说的“是否使用了编译64位版本 如果是32位,就不要编译64位的了” 俺不太清楚是个什么概念。 怎么确定是64还是32位版本啊? 怎么就只编译32位不编译64位的了? 谢谢指教!! |
|
|
地下室#
发布于:2005-01-20 10:45
[quote把中间文件delete然后编译就应该可以了 还有就是我刚说的不能生成。sys文件的问题。 我刚用checked环境编译了DDK下的一个例子。 虽然没有warning。但是编译链接之后也是提示一样的错误 NMAKE : U1073: don't know how to make 'c:NTDDKlibchkia64wdm.lib' Stop. BUILD: nmake.exe failed - rc = 2 这是什么原因那? [/quote] 1、 中间临时文件就是编译是生成的文件,具体在Debug,check,free,release文件夹里,把这些文件删除即可,再重新编译 2、 环境问题,编译出错是找不到库文件: c:\\NTDDK\\lib\\chk\\ia64\\wdm.lib 确定该文件是否存在,不存在可能没安装上 是否使用了编译64位版本 如果是32位,就不要编译64位的了 |
|
|
5楼#
发布于:2005-01-20 10:03
[quote] 把中间文件delete然后编译就应该可以了 [/quote] 大侠虽然刚才那个问题俺自己瞎弄弄就解决了。。 还是不知道哪里出的问题? 您所说的这个“中间文件“文件是个什么概念? 它在哪里。怎么产生的?又怎么删除那? 谢谢,一会给分。。。。呵呵 还有就是我刚说的不能生成。sys文件的问题。 我刚用checked环境编译了DDK下的一个例子。 虽然没有warning。但是编译链接之后也是提示一样的错误 NMAKE : U1073: don't know how to make 'c:NTDDKlibchkia64wdm.lib' Stop. BUILD: nmake.exe failed - rc = 2 这是什么原因那? |
|
|
6楼#
发布于:2005-01-20 09:45
把中间文件delete然后编译就应该可以了 |
|
|
7楼#
发布于:2005-01-20 09:44
黑暗终于。。。。。。。
黎明出现。。。。。 真怪啊。。 原来我是用cheched环境编译的就总报那些错误 刚才俺用了一次free环境编译有很多warning与以上那些错误, 当我再用checked环境编译的时候。。。。。。。 奇迹出现了。。 那些编译错误都没有了。。。。 但我还是担心是不是明天再编译的时候又会那样。。。 :( 还得接着请教: checked环境编译与链接有不少的warning。 没有生产。sys文件 提示如下: NMAKE : U1073: don't know how to make 'c:\NTDDK\libchk\ia64\wdm.lib' Stop. BUILD: nmake.exe failed - rc = 2 是不是有warning就提示这些啊? 谢谢大侠们的指点啊。 本贴已经给分。。。 能解决这个问题的, 另开贴放分。。。。。。。。。。 先谢谢了!! |
|
|
8楼#
发布于:2005-01-20 09:24
这种问题是程序突然出错退出导致的部分文件损坏, 我一开始用的十六进制就是用“H”做后缀标志的。 提示错误, 后来我改为前缀“0x”就没有问题了。 第二天再一编译还是原来的那些错误。。。 就是上面贴出来的语法错误,什么 “H”之类的。。。。 我已经改过了。。。 编译器好像记住了第一次调试时候的错误。。。 不管你怎么弄。。。就报那样的错我。。 |
|
|
9楼#
发布于:2005-01-20 08:58
这种问题是程序突然出错退出导致的部分文件损坏,
1、请先备份一下工程 根据你的描述,可能产生了编译器不能识别的字符代码, 比如:我们常用的字符代码如空格,回车,字母,符号等,0x0c,0x0d,0x20之类,其他可能都视为非法字符 2、定位到出错的行,使用UltraEdit查看十六进制是否有非法字符 3、如果问题太多,可以重建一个该文件 |
|
|
10楼#
发布于:2005-01-19 22:20
哪位大侠解决对了。。。。。。。。
100分奉上!! :mad: |
|
|
11楼#
发布于:2005-01-19 21:31
把你的环境语言在控制面板中改成english.....软件尽量不要用汉化的.....! 我用的vc也是英文菜单的。。。 现在的问题吧 你往那里面加回车,或者删除空格, 那两句所在的行数已经变了, 它还是提示原来的行数有错误,还是那些错误信息 (其实它报错的那两行根本就没有代码) 就像被什么给魔住一样。。。。。 真TNND的郁闷!! 其实原来调试正确了, 我就没有动, 突然就报调试正确前的错误了。 :mad: |
|
|
12楼#
发布于:2005-01-19 20:21
把你的环境语言在控制面板中改成english.....软件尽量不要用汉化的.....!
|
|
|
13楼#
发布于:2005-01-19 17:01
复制粘贴的时候经常碰到,习惯就好,嘿嘿.... wowo大侠。。。 给个解决的路子啊? 呵呵 :D |
|
|
14楼#
发布于:2005-01-19 16:39
复制粘贴的时候经常碰到,习惯就好,嘿嘿....
|
|
|
15楼#
发布于:2005-01-19 15:44
哦!
先试试。。 谢谢大哥 :) :) |
|
|
16楼#
发布于:2005-01-19 15:40
妮在输入()的时候要注意输入法.......还有最好不要用拷贝
删掉一些没用的空格........具体我也说不清楚........等大佬回答吧..... |
|
|
17楼#
发布于:2005-01-19 15:30
情况有些好转了,
当把以上两行注释下的时候又不报错了, 这怎么回事吗? 昨天还不管你怎么弄还一样报错了。。 真晕了。。。。。。。 :( |
|
|
18楼#
发布于:2005-01-19 15:12
代码如下:
#include "xiaodai.h" #include "xiaodaiioctl.h" #include "wdm.h" #include "saa7134pzh.h" BOOLEAN Isr(PKINTERRUPT InterruptObject, PDEVICE_EXTENSION pdx) { ULONG readint; readint = READ_REGISTER_ULONG((PULONG)(pdx->membase+SAA7134_IRQ_REPORT1)); readint = readint>>3; readint = readint&0x00000001; if (!readint) { return FALSE; } else { WRITE_REGISTER_ULONG((PULONG)(pdx->membase+SAA7134_IRQ_REPORT1), 0x00000004); IoRequestDpc(pdx->DeviceObject, pdx->DeviceObject->CurrentIrp, pdx); return TRUE; } } 错误信息是: isr.cpp(14) : error C2065: '__mf' : undeclared identifier isr.cpp(14) : error C2059: syntax error : 'bad suffix on number' isr.cpp(14) : error C2146: syntax error : missing ')' before identifier 'H' isr.cpp(14) : error C2059: syntax error : ')' isr.cpp(27) : error C2059: syntax error : 'bad suffix on number' isr.cpp(27) : error C2146: syntax error : missing ')' before identifier 'H' isr.cpp(27) : error C2059: syntax error : ')' 文中的行(14)是: readint = READ_REGISTER_ULONG((PULONG)(pdx->membase+SAA7134_IRQ_REPORT1)); 行(27): WRITE_REGISTER_ULONG((PULONG)(pdx->membase+SAA7134_IRQ_REPORT1), 0x00000004); 就是这个问题! :( :( |
|
|
19楼#
发布于:2005-01-19 12:34
那是你没有搞懂,出错的原因 我就纳闷啊? 把整个函数体都注释了, 还是提示那几行的错误, 你怎么搞把 他就是那样。。。。 |
|
|
上一页
下一页