1、使用add 新增了一个类,后来发现不需要,又把生成的类的文件删除了,然后编译出错
出错信息如下:
fatal error C1083: Cannot open source file: 'MyClass.cpp': No such file or directory
我建立了一个类MyClass,后来发现不需要,就打开项目文件夹,将 此类对应的.h,cpp删除了,再编译的时候出现上述错误。
原因是:虽然删除了文件,但是解决方案中,还保留着MyClass信息,解决方案中并没有删除。
方法:
2 动态加载DLL,总是不成功
原因路径没设置好,EXE设置在BIN路径
但是debugging调试的路径,却不是bin, 将其设置为相同路径就好了,当然动态加载的这个dll也要放在bin文件夹里
自从将visual studio从2010升级到2015后,发现调用接口的utf8格式字符串不能正常显示了,常常被莫名其妙截断,查了下,原来可以直接将变量拖到watch窗口中,在变量名后面手动添加,s8予以解决,
总结如下:
,s8:将字符串转成unicode展示
,数字 将变量拆分为数组显示, 数字是要显示多少位, 此法对const char*这类原始字符串非常有用
,x 16进制查看
,hr 查看Windows HRESULT解释
,wm Windows消息,例如0x0010, wm 显示 WM_CLOSE
4 vc\include\xrefwrap(283): error C2440: 'return' : cannot convert from 'void' to 'bool'
// non-const class member function template<class R, class C, class... DArgs, class P, class... Args> auto Bind(R(C::*f)(DArgs...), P && p, Args && ... args) ->WeakCallback<decltype(std::bind(f, p, args...))> { std::weak_ptr<WeakFlag> weak_flag = ((SupportWeakCallback*)p)->GetWeakFlag(); auto bind_obj = std::bind(f, p, args...); static_assert(std::is_base_of<nbase::SupportWeakCallback, C>::value, "nbase::SupportWeakCallback should be base of C"); WeakCallback<decltype(bind_obj)> weak_callback(weak_flag, std::move(bind_obj)); return weak_callback; } }
绑定使用:
camera_out_quality_list_combo->AttachSelect(nbase::Bind(&DetectForm::OnVideoQualitySelected, this));
定义成了 void OnVideoQualitySelected();
应该定义成 bool 类型,就可以了
bool OnVideoQualitySelected();
5 studio 12.0\vc\include\assert.h(32): error C2143: syntax error : missing ';' before 'string'
vs崩溃后,重启重运行,跳出这么奇怪的系统文件错误
当然,系统文件是肯定不会错的
原因:
class MyForm{
}; //此处的分号不见了,将其添加上就可以了
6 libc.lib
老的项目会有这个库的问题
解决方法:
忽略这个库
但我使用另一种解决方式时:
I had this problem in MS VC++ 2012 Express with Windows SDK 7.1.
I found this solution from the DISLIN developers :
(i) in MS VC++\Project\<YourProject> Properties pull-down...
(ii) <YourProject>Property Pages\Ignore Specific Default Libraries : libc.lib
(iii) <YourProject>Property Pages\Additional Dependencies\Edit : libcmt.lib
添加了libcmt.lib 反而有更多冲突
解决方法:
只需要忽略libc.lib就可以,但这个时候你可能还不成功
这时候还需要运行环境匹配
比如:
1)共享库
匹配的代码生成运行库
2)静态库
匹配的是