我擦C++ 反人类啊(1)
今天想把cocos2d-x 的引用从2.2.1 升级到2.2.2,因为2.2.2 对最新版的cocoStudio 有所支持,而且看cocoStudio 貌似功能挺强大的,想在项目里用到,于是下载了2.2.2,把几个文件夹(cocos2dx,extensions 那几个)拷贝到原来的工程目录下面,然后再一个个的build,嗯,都过了。
最后build 我的project 的时候出现了几个link error,未识别的外部引用,不认得UIMargin这玩意,多build 几次居然没错了,还一次比一次错误少!!!!这不是坑爹么!!!!!哪有多build 几次就ok 的道理!!!!!
好吧不管了你赢了,然后运行,我擦,运行时错误什么什么address cannot be read!!!
好吧你又赢了,调试追踪到出错的地方,嗯...是测试的时候多加的代码,注释掉吧...再运行...嗯..不错,主界面show 出来了,然后scene 跳转的时候又错!!!The value of ESP was not properly saved across a function call!!!这是个啥?从来没见过啊!!于是网上搜了下,说是栈溢出,“请不要在C++ 这么高端大气的面向对象的语言里再使用数组这种弱爆了的数据类型,最好是使用vector”,搜噶,就像C# 里面不用数组用list<T> 一样,搜噶个屁啊,我代码里没用数组好吗!!!!用的都是vector 好吗!!!!然后又看到说是如果函数在头文件里的声明参数数量与*.lib 里的实现不一致也会有这种情况... 这也不是我的问题好嘛....
然后不知道为什么我把几个工程全部clear 了之后再重新挨个build 了一遍,您猜怎么着?我的project build 一点错都没,而且运行时也没错了!!!!
谁能告诉我为什么!!!这不是反人类么,为啥rebuild 就行啊!!!!明明把新的文件拷过去的时候都替换掉了而且那几个project 都在vs 检测到变化之后被我reload 了啊!!!