之前做iOS开发都是用的XCode,后来unity也是用MonoDevelop,VS只在最早学C时用过。今天把一个mac上的小程序搬到win上,对VS有了一点点熟悉,特此记录。
-
虽然c++跨平台,但是对代码文件的编码处理win和mac却不同,所以一开始就遇到了明明类定义都是正确的,却总是在报错
“xxx为声明变量”
,需要把文件的编码方式修改成Unicode
.打开文件,然后左上角 文件--高级保存选项-编码方式设置为
Unicode
。这里注意没有(UTF-8)
这些后缀。修改完成后类被识别出来,
“xxx为声明变量”
这些错误都没有了。 -
一开始运行就是报错弹框
“无法启动程序xxx,系统找不到指定文件”
。这个问题很常见,经过处理,我的理解是:一开始运行,报错,导致没有生成可执行文件,自然没有xxx程序。
按照人正常的逻辑应该是:编译出错,那么给你提示错误,然后取消运行,可是这里竟然还要执行,然后就弹出了这样不知所谓的提示。
所以要做的就是,把报错的地方一个个解决了,然后编译通过,生成.exe
文件,就好了。
-
跟上一个问题原因本质上是一样的。断点有时候打了,但是却不起作用,把鼠标放过去,提示:当前版本和原始版本不一致。看了网上的说法,要么把断点对版本一致的要求去掉,要么重新保存文件等等,但我觉得都找错了方向。
这个时候我注意到又报错了,把错误解决,这个问题也解决了。为什么?因为有错误,所以你修改后的代码没有重新编译成新的exe文件,当你运行后,它是运行了之前代码生成的程序,这个就是所谓的当前版本和原始版本不一致。
如果只是把断点对版本一致的要求去掉,断点是起作用了,可是我调试的是之前的程序,那有什么意义,所以说找错方向了。
然后这里问题其实跟上一个就是一样的,编译有问题,就应该取消运行嘛,还运行之前的,这不是坑爹,再来个“当前版本和原始版本不一致”的提示,真是绕了好大的弯啊。