【VS问题已解决】警告被视为错误 - 没有生成“object”文件
目前遇到这个问题主要是因为代码存在不明显的语法错误。在VS生成解决方案的编译阶段之前会检查有没有明显的语法问题。首先是,例如缺少结尾分号、误用中文字符这种最明显问题,在运行之前就会有错误提示。其次还有,例如代码编写阶段类的继承关系错误的深层问题,这种问题会在编译过程中中断程序,因为功能本身就是不可能进行下去的。
我们这里说的这个报错很接近第二种情况,网上有很多的博客提到通过修改项目属性中C/C++的常规部分设置,“将警告视为错误”这部分改为“否”。方法是可行的,我也试过。只是感觉这样的操作虽然最简单但是存在很大的安全隐患。在工程代码的发布版本中如果留下这个后门,之后自己还没有注意到,可能之后检查不出一些代码问题,也容易被他人利用。如果是自己用来学习或者做测试的demo,可能不用注意太多。我还是不建议用大多数人写到的这个解决办法。这里也感觉网上的大佬让我学到了很多,他举得例子也很形象(链接:https://blog.youkuaiyun.com/hurricane_0x01/article/details/51304907)
我遇到这个情况是运行了cef官网的一个例子,错误提示之后根绝报错信息找到了其中的错误是因为转义字符\n在本地导入之后出现了乱码。然后把这里改回来就好了。如果对于项目代码不熟悉,可能能不能把问题改回来还得看运气。
如果有原版可运行的代码,可以通过文本编辑器(如记事本,UltraEdit等)打开原代码文件,替换问题文件中的代码,避免自动导入后因为字符集不一致等问题导致的乱码。
如果是遇到上面链接里的问题,需要修改一些语法的,就是打开错误列表,找到出现问题的那几行,进行相关修改。
例如后面出现了这个问题
代码写法严谨一些就解决了
bool result = false;
result = manager->VisitUrlCookies
(url, includeHttpOnly, new CookieVisitor(deleteCookies, callback));
具体情况还是得具体分析,有可能还有文章中没有提到的出错情况,欢迎大佬们补充