1.无法从“const char [10]”转换为“LPCWSTR”

vs6,vs2005的版本问题
解决方案1: 
winclass.lpszClassName = (LPCTSTR)WINDOW_CLASS_NAME;
解决方案2:
wndcls.lpszClassName = L"ShadowJack first window";

2.error LNK2019: 无法解析的外部符号 _DirectDrawCreateEx@16,该符号在函数 "int __cdecl

Game_Init(void *,int)" (?Game_Init@@YAHPAXH@Z) 中被引用

解决方案:
项目->属性->链接器->常规->附加库目录:
"E:/Program Files/Microsoft DirectX 9.0 SDK (February 2005)/Lib/x86"
项目->属性->链接器->输入->附加依赖项:
ddraw.lib

E:/Program Files/Microsoft DirectX 9.0 SDK (February 2005)/Include
E:/Program Files/Microsoft DirectX 9.0 SDK (February 2005)/Lib/x86

3.设置协同等级
// set cooperation to normal since this will be a windowed app
lpdd->SetCooperativeLevel(main_window_handle, DDSCL_NORMAL);

// set cooperation to full screen 设置一个全屏窗口
if (FAILED(lpdd->SetCooperativeLevel(main_window_handle, 
                                      DDSCL_FULLSCREEN | DDSCL_ALLOWMODEX | 
                                      DDSCL_EXCLUSIVE | DDSCL_ALLOWREBOOT)))
   {
   // error
   return(0);
   } // end if

4.设置屏幕分辨率
// set display mode to 640x480x8
if (FAILED(lpdd->SetDisplayMode(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP,0,0)))
   {
   // error
   return(0);
   } // end if

5.什么是光栅化
现实中的视觉图像是连续的,但是电子屏幕上的图像是一个个的点组成的,叫做像素,要把连续的图

像用离散的像素表示出来就是光栅化了。

6.fatal error C1083: 无法打开包括文件:“dsound.h”: No such file or directory
别忘记了编程时附带,在Project/Setting/Link/ 中加入 strmbasd.lib uuid.lib winmm.lib
将directX sdk下的include文件夹下的.h文件拷贝到VC的include文件夹下

7.error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7

好多初学者在用DX SDK写自己的应用时,都莫名其妙的发现如下几个类似的编译(更准确地说是链接

)错误:

FDraw.obj : error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7
FDraw.obj : error LNK2019: 无法解析的外部符号 _DirectDrawCreate@12 ,该符号在函数 “int

__cdecl DDInitialize(void)” (?DDInitialize@@YAHXZ) 中被引用
FInput.obj : error LNK2001: 无法解析的外部符号 _GUID_SysKeyboard
FInput.obj : error LNK2001: 无法解析的外部符号 _IID_IDirectInput8A
LIBCD.lib(wincrt0.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16 ,该符号在函数

_WinMainCRTStartup 中被引用
dinput8.lib(dilib1.obj) : error LNK2001: 无法解析的外部符号 _GUID_ZAxis
dinput8.lib(dilib1.obj) : error LNK2001: 无法解析的外部符号 _GUID_YAxis
dinput8.lib(dilib1.obj) : error LNK2001: 无法解析的外部符号 _GUID_XAxis
dinput8.lib(dilib2.obj) : error LNK2001: 无法解析的外部符号 _GUID_Key
Debug/sword.exe : fatal error LNK1120: 9 个无法解析的外部命令

而且这种问题是很奇怪的;不过其实并不很复杂。

首先,你大概知道,在使用DX SDK之前,应该在选项里面,把lib和include设置好,不过这并不代表

你的代码在编译的时候会自动应用*.lib(比如说ddraw.lib),你需要在你的DX封装的cpp对应的

header里加上类似的如下几句:

#pragma  once
#pragma  message("FDraw.h --> Linking with ddraw.lib")
#pragma  comment(lib,"ddraw.lib")这几行文字就相当于告诉编译器编译的时候把 ddraw.lib 也编

进去(链接, Link)。

试试看,加上相应的几句,是不是没有什么 error LNK2001 了?

ARPG error LNK2019: 无法解析的外部符号 _DirectDrawCreateEx@16 ,该符号在函数 "int

__cdecl Game_Init(void)" (?Game_Init@@YAHXZ) 中被引用

头文件加入 #pragma comment( lib, "Dxguid.lib")

ARPG error LNK2001: 无法解析的外部符号 _IID_IDirectDraw7

头文件加入#pragma comment( lib, "ddraw.lib")

VS2005,工具->选项->项目和解决方案->VC++目录。在“显示以下内容的目录”里选择:"库文件",

再添加“C:/Program Files/Microsoft DirectX SDK (August 2006)/Lib/x86”

8. Debug Assertion Failed!
File:f:/dd/vctools/crt_bld/self_x86/crt/src/lseek.c
Line:66 
Expression:(fh >= 0 (unsigned)fh < (unsigned)_nhandle)

注释T3DLIB1.CPP 中的这一行
// finally the image data itself
_lseek(file_handle,-(int)(bitmap->bitmapinfoheader.biSizeImage),SEEK_END);

WINDOWS游戏编程大师技巧-常见编绎连接错误FAQ相关推荐

  1. 开始利用CSDN做学习笔记,从windows 游戏编程大师技巧和3D游戏编程大师开始

    利用两个月的空余时间将windows 游戏编程大师技巧和3D游戏编程大师技巧看了一遍. 第一遍读的并不深入,代码也没有仔细研究.特别是3D下册,基本只是草草浏览了一遍而已.这一遍是为了对整体有个印象和 ...

  2. 《Windows游戏编程大师技巧》(第二版)第1章(上)

    第1章 学海无涯 "Oh, you want some too?!?" -Hudson, Aliens Windows 编程就像是一场由来已久并还在进行着的战争.尽管游戏程序员曾经 ...

  3. 《Windows游戏编程大师技巧》(第二版)第2章

    因此几乎是一夜间,Windows 95就改变了整个计算机行业.的确,目前还有一些公司仍然在使用Windows 3.1(你能相信吗?),但是Windows 95使得基于Intel的PC成为除游戏之外的所 ...

  4. Windows游戏编程大师技巧(一)

    第一章 无尽之旅 Windows编程是一场由来已久并还在进行着的战争.开始时,游戏程序拒绝Windows平 台,但正如Borg所言:"反对无效......",我也赞同这一观点.本章 ...

  5. 《Windows游戏编程大师技巧》(第二版)第11章

    第三部分:核心游戏编程   第11章 算法.数据结构.内存管理和多线程   第12章 人工智能   第13章 游戏物理   第14章 文字时代   第15章 综合运用:编写游戏! 第11章 算法.数据 ...

  6. 《Windows游戏编程大师技巧》三、Windows高级编程

    Windows编程很绝的地方在于:你不用了解太多细节,就可以完成很多工作. 使用资源 资源就是你的程序代码结合在一起的多块数据,可以被程序本身在运行时加载. 资源应当也放在程序的.EXE文件中的原因是 ...

  7. 《Windows游戏编程大师技巧》(第二版)第1章(下)

    实例:FreakOut 在沉溺于所讨论的有关Windows.DirectX 和3D 图形之前,应当暂停一下,先给你看一个完整的游戏--虽然简单了一点,但毫无疑问是一个完整的游戏.你会看到一个实际的游戏 ...

  8. Windows游戏编程大师技巧第二版学习笔记之第一章 实验补充

    前面记录的一下看书中的重点,编程还是要动手,下面就来动手试试,这里选择VC6.0编译器 这里先来配置游戏编程环境,原书中的dx81sdk_full.exe一共是1百多MB,其实没必要整那么多,看我在我 ...

  9. 《windows游戏编程大师技巧》第五章:DirectX基础知识和令人生畏的COM

    1.DirectX组件 DirectX是基于COM实现的,比系统自带的GDI和MCI更快.更稳定,其包括许多组件,如: ●DirectDraw(DirectX 8.0以上的版本不包含) ●Direct ...

  10. Windows游戏编程大师技巧之三角形填充

    一.三角形的种类 三角形一般可以分为如下的四种类型(这四种类型是对于计算机来说的,不是数学意义上的分类): 平顶三角形:就是在计算机中显示的上面两个顶点的Y坐标相同. 平底三角形:就是在计算机中显示的 ...

最新文章

  1. 滴滴成立AI Labs 加大人工智能领域投入
  2. 实践篇:利用函数计算轻松构建全文检索系统
  3. 【视频】v-bind的使用
  4. exchange2010使用通配符造成的不停的需要输入密码却访问不了
  5. php实际应用小例子,PHP4实际应用经验篇(6)
  6. 使用Server 2008新GPO做驱动器映射
  7. 在python中使用什么工具管理模块_怎么使用Python pip(管理模块工具)
  8. couldn't find libweibosdkcore.so
  9. 【转载】面向对象建模与数据库建模两种分析设计方法的比较
  10. 安卓actionbar上的搜索按钮点击没反应如何解决
  11. BCZM : 1.8
  12. python海贼王logo_Python入门之生成海贼王云图
  13. Java 代码块:静态代码块、构造代码块、构造函数块
  14. office visio 替代_10个Linux中受欢迎的开源Visio替代品
  15. 花生壳5.0 for Linux使用教程
  16. MATLAB 数据拟合方法
  17. 浅析Linux系统入侵排查与应急响应技术
  18. 机器学习与模式识别期末试题回忆
  19. 苹果iOS申请个人开发者账号注册教程
  20. seaweedfs java api_seaweedfs代码详解

热门文章

  1. Maximum Submatrix Largest Rectangle
  2. nodeJS---URL相关模块用法(url和querystring)
  3. 2017-5-5/PHP实现负载均衡的加权轮询
  4. 导航条——flash导航条
  5. 【Alpha】第七次Scrum meeting
  6. POJ 2492 A Bug's Life
  7. JS关于辅助函数inherit()的小问题
  8. 推荐一款ORM工具 FOR ADOBE AIR
  9. ASP.NET2.0(学习第一天)
  10. avc水平什么意思_5个步骤切实有效地提高你的写作水平