讨厌的VC编译项

 

在程序中做了个CheckRelation(AcDbObjectId eId1, AcDbObjectId eId2)函数,用于判断两个pline线对象的空间拓扑关系,在多数情况下工作正常,很高兴的编译发布了。

昨天突然发现在判断一个非常显眼的pline线交叉时居然出错了,而且都是直线段,没有圆弧——CheckRelation中关于直线段是否交叉用的是数学方法,包括CheckRelation中调用的PointInCurve也一样,压根没调用AcGeLineSeg之类的方法——这意味着是我的代码出了问题,而不是ObjectARX的库的问题。

打开Debug版本,调试,郁闷的发现,居然在Debug版下没有问题!

因为对外发布的版本有其他的宏定义,又到处检查了一下,没看到什么碍眼的地方。但是Debug版就是木有问题,而SJ、Inner都出错,非常郁闷! 

突然想起编译项里面,优化项(Optimizations)的设置是有区别的,把发布的版本的编译项由Maximize Speed(/O2)修改为Disable(/Od,禁用优化),再编译,问题消失了!

不知道是我的VC没打补丁(其实好像打了,记不清了)还是什么其他问题,反正。。。。反正问题解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值