今天在搞Mesh的时候又让字符串的格式给搞得晕头转向。
以前在用MessageBox这个函数的时候,字符串前一定要加上一个L才能编译通过
今天在用D3DXCreateTextureFromFile(m_pIDirect3DDevice,pD3DXMaterial[i].pTextureFilename,&m_ppDirect3DTextureArray[i]) 时又告诉我第二个参数不能从 'LPSTR' 转换到'LPCWSTR',第二个参数是由mesh中获得Texture文件名。我又在前面加上一个L也不能编译通过。但是DX的Sample中对这个函数一样的用法却不会出错,并且他的字符串前面也没有加上一个L。于是我想到可能是某个地方的设置不一样,对比了一下两个项目的设置终于发现原来在Sample的设置中常规->字符集设置为使用多字节字符集 ,而我的项目设置为使用Unicode 字符集 。于是我把此处改掉,在编译的时候所有字符串前加了L的地方又不能通过。删掉所有的L编译通过,运行成功。