2010-11-04 102 views
0

我的项目有很多静态库(带有源代码)。 由于源代码与原始版本不同,某些基本库无法突出显示。 我知道如果关闭“要求源文件与原始版本完全匹配”选项,我可以解决此问题,但该警告令我担心。 它是Microsoft Visual Studio 2008的bug吗? 我听说它发生在源代码的校验和与obj不同时。 我有所有库的来源,并链接为静态库, 我清理和重建所有,但警告永远不会消失。在VS 2008 SP1中进行调试时,断点没有连接

更糟糕的是,当我关闭“要求源文件与原始版本完全匹配”选项时,监视窗口无法显示出现此错误的成员变量“FIX:来自Forward类的OMF类型中的CXX0033错误宣言” http://support.microsoft.com/kb/131147/en-us?fr=1

我搜索堆栈溢出,并发现几个类似的文章(http://stackoverflow.com/questions/163133/breakpoint-not-hooked-up-when-debugging-in-vs-net-2005)但那些帮不了我。

环境: 在Windows 2003服务器的x64 的Visual Studio 2008 SP1版本9.0.30729.1 SP

在此先感谢。

回答

0

仔细检查您的符号和来源搜索路径,以确保它们包含静态库的正确文件夹。检查y7ou是否从正确的目录链接.lib和.obj文件。另外,在调试器下打破程序,并检查从哪里加载库的符号 - 它们应该来自同一个文件夹.obj和.lib来自。

+0

如何查看符号和来源搜索路径在哪里?不管怎样,谢谢。 – 2010-11-04 04:16:02

+0

工具/选项/调试(我认为) – 2010-11-04 05:36:54

+0

我发现这个链接,它的工作原理。经过一些实验后,我会公布结果。 “尝试创建使用预编译头文件的调试库可能会失败,并且可能会生成致命的生成错误”#:http://kbalertz.com/102697/Build-Errors-Using-Precompiled-Header-Debugging.aspx – 2010-11-04 10:22:59

相关问题