出错什么问题啊,BSCMAKE: error BK1506 : cannot open file '.\Release\StdAfx.sbr': No such

asasj57 2010-06-02 11:58:07
--------------------Configuration: test - Win32 Release--------------------
Compiling...
StdAfx.cpp
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\winnt.h(222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\winnt.h(222) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
Creating browse info file...
BSCMAKE: error BK1506 : cannot open file '.\Release\StdAfx.sbr': No such file or directory
Error executing bscmake.exe.

test.exe - 3 error(s), 0 warning(s)
============================================================================================
有这样的错误,库路经选项是这样选的

配置DX81SDK_FULL,VC6上编译

include files里面是
C:\DXSDK\INCLUDE
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
---------------------------------------------------------
Library files里面是
C:\DXSDK\Lib
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
---------------------------------------------------------

是不是我的Microsoft Platform SDK for Windows Server 2003 R2用的太高版本了?我记得VC6可以用最高版这个SDK的啊.
directX版本是8.1的库
---------------------------------------------------------
小工程下载地址:http://www.vdisk.cn/down/index/4488100A8430
---------------------------------------------------------
...全文
1769 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
亓神 2011-12-20
  • 打赏
  • 举报
回复
解决办法是 在vs 2008 中c/c++ 中 browse Information 中 Enable browse Information 设置为 NO
芸香传奇 2011-07-26
  • 打赏
  • 举报
回复
怎么没有正确答案啊?
softdevcn 2010-06-12
  • 打赏
  • 举报
回复
directX安装最高版本.
asasj57 2010-06-05
  • 打赏
  • 举报
回复
在winnt.h中

typedef void *PVOID;
typedef void * POINTER_64 PVOID64;

前面写了呀.
Eleven 2010-06-04
  • 打赏
  • 举报
回复
你写在哪里呢???
Eleven 2010-06-03
  • 打赏
  • 举报
回复
error C2146: syntax error : missing ';' before identifier 'PVOID64'

解决办法:

在winnt.h中

typedef void *PVOID;
typedef void * POINTER_64 PVOID64;

前面加入

#ifndef POINTER_64
#define POINTER_64 __ptr64
#endif

然后Rebuild All一下
asasj57 2010-06-03
  • 打赏
  • 举报
回复
前面加入

#ifndef POINTER_64
#define POINTER_64 __ptr64
#endif

写这个后,不好试呀,还是一样出错啊.
用于局域网截包的程序

Build Log

--------------------Configuration: GetMas - Win32 Debug--------------------

Command Lines

Creating temporary file "C:\DOCUME~1\pizi\LOCALS~1\Temp\RSP114.tmp" with contents [ /nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"Debug/" /Fp"Debug/GetMas.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c "D:\pvc6\MyProjects\课设\数据结构\GetMas\GetMes.cpp" ] Creating command line "cl.exe @C:\DOCUME~1\pizi\LOCALS~1\Temp\RSP114.tmp" Creating temporary file "C:\DOCUME~1\pizi\LOCALS~1\Temp\RSP115.tmp" with contents [ kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/GetMas.pdb" /debug /machine:I386 /out:"Debug/GetMas.exe" /pdbtype:sept ".\Debug\GetMes.obj" ] Creating command line "link.exe @C:\DOCUME~1\pizi\LOCALS~1\Temp\RSP115.tmp"

Output Window

Compiling... GetMes.cpp Linking... Creating command line "bscmake.exe /nologo /o"Debug/GetMas.bsc" ".\Debug\GetMes.sbr"" Creating browse info file...

Output Window

Results

GetMas.exe - 0 error(s), 0 warning(s)
最实用,最简单编程软件。masm编程器汇编语言程序格式及MASM 汇编语言的实现也是先利用某种编辑器编写汇编语言源程序(*.ASM),然后经过汇编得到目标模块文件(*.OBJ)、连接后形成可执行文件(*.EXE)。 1、汇编语言程序的语句格式 汇编语源程序由语句序列构成。语句一般由分隔符分成的四个部分组成,它们有两种格式: (1)执行性语句——由硬指令构成的语句,它通常对应一条机器指令,出现在程序的代码段中: 标号:硬指令助记符 操作数,操作数 ;注释 (2)说明性语句——由伪指令构成的语句,它通常指示汇编程序如何汇编源程序: 名字 伪指令助记符 参数,参数,... ;注释 ◆执行性语句中,冒号前的标号反映该指令的逻辑地址;说明性语句中的名字可以是变量名、段名、子程序名或宏名等等,既反映逻辑地址又具有自身的各种属性。标号和名字很容易通过是否具有冒号来区分。 ◆硬指令助记符可以是任何一条处理器指令,也可以是一条宏指令,伪指令助记符主要完成一些不产生CPU动作的说明性工作,在程序执行前由汇编程序完成处理。 ◆处理器指令的操作数可以是立即数、寄存器和存储单元。伪指令的参数可以是常数、变量名、表达式等,可以有多个,参数之间用逗号隔开。 ◆语句中由分号开始的部分是注释。 2、汇编语言源程序 这个以前已经学过,主要有简化段定义格式和完整段定义格式 3、宏汇编程序MASM MASM6.11,安装文件5张软盘,默认安装在C:\MASM目录下,完整的MASM汇编系统包含很多文件,但最基本的有如下几个: ML.EXE 汇编程序 ML.ERR 汇编错误信息文件 DOSXNT.EXE MS-DOS扩展文件 LINK.EXE 连接文件 LIB.EXE 子程序库管理文件 如果采用集成开发环境PWB,主要涉及如下文件: PWWB.EXE 程序员工作平台 NMAKER.EXE 工程维护程序 NMAKE.EXE nmaker的MS-DOS扩展驱动程序 CV.EXE 源代码调试器CodeView CVPACK.EXE 调试信息压缩器,它为CODEVIEW准备一个可执行文件 HELPMAKE.EXE 帮助文件维护程序 BSCMAKE.EXE 浏览数据库创建程序 SBRPACK.EXE 浏览信息程序 PWBRMAKE.EXE BSCMAKE兼容驱动程序 *.MXT 各种PWB扩展工具文件 *.XXT 各种语言的PWB扩展文件 4、汇编语言的命令行开发过程 (1)原程序的编写 用编辑软件书写*.asm源程序,如 LI6-1.ASM ;LI6-1.ASM .MODEL SMALL .STACK .DATA STRING DB 'Hello,Everybody!' .CODE .STARTUP MOV DX,OFFSET STRING MOV AH,9 INT 21H .EXIT 0 END (2)原程序的汇编 汇编是将原程序翻译成由机器代码组成的目标模块文件的过程,如下: ML /c LI6-1.ASM 如果源程序没有语法错误,则生成一个目标模块文件LI6-1.OBJ (3)目标文件的连接 连接程序能把一个或多个目标文件和库文件和成一个可执行文件(.EXE、.COM文件),如下: LINK LI6-1.OBJ 连接程序的一般格式: LINK [/参数选项] OBJ文件列表 [EXE文件名,MAP文件名,库文件][;] 连接程序可以将多个模块文件连接起来,形成一个可执行文件;多个模块文件用“+”分隔。给出EE文件名就可以替代与第一个模块文件名相同的缺省名。给出MAP文件名将创建连接映像文件,否则不生成映像文件。库文件是指连接程序需要的子程序库等。“;”表示采用缺省值 事实上,ML汇编程序可以自动调用LINK连接程序(ML表示MASM和LINK),实现汇编和连接依次进行,如下即可完成可执行文件的生成: ML LI6-1.ASM ML的命令行格式如下: ML [/参数选项] 文件列表 [/LINK连接参数选项] 参数选项如下(注意参数是大小写敏感的): /AT——允许tiny存储模式(创建一个COM文件) /c——只汇编源程序,不进行自动连接 /fl 文件名——川建一个汇编列表文件(扩展名LST) /Fr 文件名——创建一个可在PWB下浏览的.SBR源浏览文件 /Fo 文件名——根据指定的文件名生成模块文件,而不是采用缺省名 /Fe 文件名——根据指定的文件名生成可执行文件,而不是采用缺省名 /Fm 文件名——创建一个连接映像文件(扩展名MAP) /I 路径名——设置需要包含进(INCLUDE)源程序的文件的所在路径 /Sg——在生

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧