试着在vs2005 + python2.2.3 + Direct9 下运行《Game Scripting Mastery》的例子,在运行Capter 6 的外星人例子时遇到了问题:
1. 之前在vc6.0上用DX8的SDK调通过一次,但在vs2005下换成了用DX9的SDK不过在这个地方没碰到问题,但都要把lib文件重新链接进去,原路径是不对的;
2. vc6.0->vs2005 时,源代码中通常都有循环中的局部变量这个问题,不过很容易改;
3. 接下来是winnt.h中报错,发现原因是DX8的SDK放在了上方的问题,后来直接删去,因为用DX9的SDK也可以;
4. 运行后在_lseek()这个函数中的一个assert报错,查了网上资料后发现下文给了十分详尽的解释:
1. 之前在vc6.0上用DX8的SDK调通过一次,但在vs2005下换成了用DX9的SDK不过在这个地方没碰到问题,但都要把lib文件重新链接进去,原路径是不对的;
2. vc6.0->vs2005 时,源代码中通常都有循环中的局部变量这个问题,不过很容易改;
3. 接下来是winnt.h中报错,发现原因是DX8的SDK放在了上方的问题,后来直接删去,因为用DX9的SDK也可以;
4. 运行后在_lseek()这个函数中的一个assert报错,查了网上资料后发现下文给了十分详尽的解释:
http://blog.csdn.net/sibylle/article/details/2603517
最后用文中的函数替换后就行;
5. Py_Finalize处出现了错误,还在排查中。
OK
5. Py_Finalize处出现了错误,还在排查中。
OK