Torque的VS2005编译 (compiling Torque by VS2005)

Torque游戏引擎QQ群成员文章:(←迷离的猫→,QQ:613101)
Ntoe: maybe you know how to compile Torque by VS2003 or VC6, But what about VS2005,the following is the 'How'.

Torque:http://www.gamaura.com/Soft/2006/200603/12.html
VS2005:emule 上面 Team Suite edition

昨天下载到一个Torque,一把源代码。这个我喜欢 :) 赶紧下下来,用Visual Studio 2005来编译。首先,使用vs2005打开torque/vc7/Torque SDK.sln,根据提示升级解决方案,然后编译。以下就是碰到的错误。

1、char * 与const char*的转换问题
这个问题出现在dStrstr函数中:
char* dStrstr(const char *str1, const char *str2)
{
   return strstr(str1,str2);
}
然而,strstr返回的是const char*。而编译器不允许char * 隐性转换到const char*。
所以,强制转换。

2、typedef问题
出错文件:winnt.h
出错行:typedef void *POINTER_64 PVOID64;
解决:这里是这样的,POINTER_64是一个宏,在64位编译下起作用,它包含在SDK目录下的BASETSD.H中,不幸的是,torque自己带了一个basetsd.h,里面没有定义POINTER_64,从而导致出错。改名,或删除该文件即可。


3、缺少resource.h文件
出错文件:resource.rc
提示:缺少resource.h文件
解决:在vc6目录下拷贝一个resource.h到vc7目录下即可。

4、操作符重载问题
出错文件:DTSMatrix.h中
出错行:template <int rows2, int cols2>
operator *= (const Matrix<rows2,cols2,type> &a) { (*this) = (*this) * a ; }
解决:
template <int rows2, int cols2>
   Matrix<rows,cols2,type>
operator *= (const Matrix<rows2,cols2,type> &a) { (*this) = (*this) * a ; }

5、小问题
一个i定义位置不对,看官自己解决了:)

现在通过以上步骤,虽然warning一把,不过,能编译通过了 :)让我感觉奇怪的是,不知道这是不是由VC7升级到VC8里面出的问题。还望高手指点。

在排错过程中受到清澜,南斗的指点,非常感谢 :)

日期:2006.06.16
来自:withyourmark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值