MSVS 2013:我有一个静态库的VC项目和C ++代码,我想从我的exe项目中进入,该项目可以在同一个解决方案中找到。但是,调试器一直告诉我它不会达到断点,因为它无法根据静态库的调试符号加载(“断点当前不会被命中。没有为此文档加载符号“)。同一解决方案中的其他静态库工作。我刚刚添加了新的一个,因为我想进入它的一些代码,看看出了什么问题。我添加了一个从exe到lib项目的构建依赖,不知道这是否有任何影响,但我认为它不会受到伤害。我也尝试过清洁和重建。什么可能是一个提示和我没有得到的:为什么VS尝试在获得源代码时首先加载调试符号?
有趣的是,我有一个不同的解决方案,也使用相同的静态lib项目,它有效,所以问题似乎不是lib项目中的混乱设置。我比较了两个exe项目的所有链接器和编译器设置,但找不到任何可疑的差异。
任何想法都会受到高度赞赏。
答案 0 :(得分:3)
有几个可能的原因:
/LTCG
并禁用任何内容)/DEBUG
标志).pdb
文件(这会在输出窗口中产生警告)尝试以下操作:对静态库和您正在运行的可执行项目使用默认的Debug构建。在可执行项目中引用库项目,并且DONT明确地将库添加到Linker-> Input-> Additional Dependencies。