反复把问题最简单化,反复建立了不小于10个项目,就还差没重装系统了。得出结论:
#pragma comment(lib,"xxxxxx.lib")
出现错误的时候,只要把这句话中的"xxxxxx.lib"修改一下,随便修改成一个不存在的文件名称,编译,等着它提示找不到该文件,然后再把文件名换回正确的名字,问题解决。
看来这确实是低级错误,是微软犯的老毛病了,相似的错误在IE中也存在,都是由于缓存引起的,IE中可以通过删除缓存来解决,但是VisualStudio中我还真不知道该删哪个文件,就这样子以毒攻毒也可以,反正也不是什么高深的技术。
错误发生在VisualStudio 2005,C++环境,win32开发。
另一方面,如果是在.NET中加载WIN32的C函数DLL,则不会发生上面所说的问题。从现在计算机的性能来衡量的话,我们完全可以使用.NET来开发一些对性能要求不高或者影响不大的部分,例如显示界面,数据库连接,字符串操作,网络传输等,这些都是.NET的强项,然后把剩下的高性能计算交给传统C++来运行,通过P/Invoke来结合二者,既方便了开发,也不损失多少性能代价。


