无忧启动论坛
标题:
求助: C++代码 无法通过
[打印本页]
作者:
proof
时间:
2024-4-12 09:34
标题:
求助: C++代码 无法通过
《游戏编程入门(第4版)》,下载的随书源码。
书内采用VS2013版本。DirectX版本未指明,我用的是DX9。
前10章的例程,经调试微改后,都成功执行。
但第11章的例程,新加入音频效果。编译错误。
源码度盘下载:
https://pan.baidu.com/s/1sMdtAyVKXYgqGJcxvj6kCQ?pwd=744x
环境:C-Free 5.0 + DirectX 9.0
32,33,35,37行 分别报错。
error: expected primary-expression before ';' token
32 wc.hIcon = NULL;
33 wc.hCursor = LoadCursor(NULL, IDC_ARROW);
34 wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
35 wc.lpszMenuName = NULL;
36 wc.lpszClassName = APPTITLE.c_str();
37 wc.hIconSm = NULL;
问题是,这个MyWindows.cpp,和6~10章的MyWindows.cpp完全一样,一个字符不差。
前几章的,都编译通过,执行成功。根本没报这几行错误。
貌似是NULL定义问题,可是前几章完全相同的MyWindows.cpp为什么不报错?
作者:
proof
时间:
2024-4-12 09:35
之前也报错:sal.h: No such file or directory
百度原因:
sal.h免费下载,使用DirectSound时用;C-Free编程时没有,只有安装VS后库里才有。
C-Free编程时有时会缺少这个东西,安装VS库里才自带这个;可以下载后直接使用,省的安装VS。我从VS2017库里找到的。
在网上下载sal.h文件并拷贝到所在目录(C:\Program Files\Microsoft SDKs\Include)即可。
sal.h下载:
http://pan.baidu.com/s/1hswd5tU
于是下载了sal.h,放到lib或include里。
貌似是NULL定义的问题。sal.h里面确实有很多null ,比如:
#define _$null Null=SA_Yes
#define _$maybenull Null=SA_Maybe
#define _$notnull Null=SA_No
……
#define __null __declspec("SAL_null")
#define __notnull __declspec("SAL_notnull")
#define __maybenull __declspec("SAL_maybenull")
……
#define __null
#define __notnull
#define __maybenull
难道是这个原因?
作者:
proof
时间:
2024-4-12 15:52
哪位网友可否下载一楼的源码,在本地编译后,上传一个 test.exe ? (若不允许exe类型,可放入rar压缩包,上传)
看看是什么效果。
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3