《Directx 9.0 3D 游戏开发编程基础》学习总结2--Init例程编译错误
来源:互联网 发布:nginx windows 开发 编辑:程序博客网 时间:2024/06/05 19:03
编译错误1:不能将参数
参考:http://blog.sina.com.cn/s/blog_5b9734c50100z2o3.html
如果你的程序在 ANSI 字符集运行,调用 MessageBox ,就相当于调用 MessageBoxA;同样 UNICODE字符集下,调用MessageBoxW。
MessageBoxW 支持 UNICODE;
MessageBoxA 支持 ANSI;
UNICODE与ANSI 有什么区别呢?简单的说,UNICODE版的字符比ANSI 的内存占用大,比如:
Win32程式中出现的标准定义 char 占一个字节,
而 char 的UNICODE版被定义成这样:
typedef unsigned short wchar_t ;占2个字节。
宽字节版函数中带有字符参数的都应该用宽字节版的字符参数,将字符串转换成宽字节很容易:
比如将 "Application Error" 转换成UNICODE版,只需在它前面使用一个定义了的宏,如下:
L"Application Error" ,或者TEXT("Application Error" )都可以。
所以在字符参数前加上“L”宏,即可解决此问题。
编译错误2:无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
参考:http://blog.sina.com.cn/s/blog_6e6c5f230100p92p.html
这个问题表明你新建的是一个main类型函数(控制台程序),而你的程序中有窗口程序,显然是个win32函数,解决方法:
项目-属性-链接器-系统-子系统-把控制台该为windows
产生这个问题可能的原因是:你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain(现在才理解win32原来说的就是窗口程序,貌似英文版的vs用的少了)。
- 《Directx 9.0 3D 游戏开发编程基础》学习总结2--Init例程编译错误
- 《Directx 9.0 3D 游戏开发编程基础》学习总结1--环境配置
- 《DirectX 9.0 3D 游戏开发编程基础》学习笔记#2 D3D初始化
- 《 DirectX 9.0 3D游戏开发编程基础》书评
- DirectX 9.0 3D 游戏开发编程基础
- DirectX 9.0 3D游戏开发编程基础 [书评](zz)
- DirectX 9.0 3D 游戏开发编程基础 学习笔记(一)
- 《DirectX 9.0 3D 游戏开发编程基础》学习笔记#1
- DirectX.9.0.3D游戏开发总结
- 【阅读笔记之一】《DIRECTX.9.0.3D游戏开发编程基础》:DirectX概略
- 【阅读笔记之二】《DIRECTX.9.0.3D游戏开发编程基础》:基础数学知识
- 关于阅读《DIRECTX.9.0.3D游戏开发编程基础》的计划
- 【阅读笔记之三】《DIRECTX.9.0.3D游戏开发编程基础》:Direct3D初始化
- 【阅读笔记之四】《DIRECTX.9.0.3D游戏开发编程基础》绘制流水线
- 【阅读笔记之五】《DIRECTX.9.0.3D游戏开发编程基础》Direct3D中的绘制
- 【阅读笔记之六】《DIRECTX.9.0.3D游戏开发编程基础》:Direct3D中的颜色
- 【阅读笔记之七】《DIRECTX.9.0.3D游戏开发编程基础》:Direct3D中的光照
- 【阅读笔记之九】《DIRECTX.9.0.3D游戏开发编程基础》:Direct3D中的融合技术
- Kendo UI开发教程(9): Kendo UI Validator 概述
- C++ Virtual 函数 《理论&实践》
- 程序员技术练级攻略
- 看不见的表单
- 反射
- 《Directx 9.0 3D 游戏开发编程基础》学习总结2--Init例程编译错误
- make 编译 undefine reference to ...
- 在枚举类中实现带方法的接口
- [唐胡璐]QTP技巧 - QTP菜单项消失
- Velocity学习2之Context
- iSCSI、FCoE 和 FC 的性能比较
- [唐胡璐]QTP技巧 - C# AOM QTP
- MySQL数据库怎么实现远程连接访问
- [唐胡璐] - C#将QTP结果(XML+XSL文档)转换为HTML格式