0

我目前能够使用 cmake 设置和编译一个 Visual Studio 项目,但是我根本无法在源代码中设置断点。最初,当我尝试使用调试器运行无法找到调试符号时,VS 警告我。为了解决这个问题,我只需转到项目属性并选择链接器->调试并将“生成调试信息”设置为是。现在它生成了必要的 pdb 文件,但是如果我在源代码中放置一个断点,它会空洞并告诉我没有为文档加载任何符号。

所以我的问题是为什么它与 pdb 文件的源不匹配,我能做些什么来纠正这个问题?

谢谢。

这是一个带有简单示例的 git repo:https ://github.com/Samurai336/CmakeSimple

4

1 回答 1

3

好的,由于深入研究了用户Fraser的评论,我发现了问题所在,他问我是否将调试信息格式设置为“/Zi 或 /ZI”。好吧,它被设置为 Zi,所以为了把科学重新放在计算机科学中,我给了 /ZI 一个机会。编译器对我大喊“'/ZI' 和 '/02' 不兼容”。所以今天我研究了 /02 标志是什么,并意识到它是最大速度优化标志,并且有一种预感,这就是为什么它在调试时遇到问题。果然,当我将标志更改为 '/Od'(disabled) 时,一切都相应地中断了。

不过,这给我留下了一个主要问题:如何从 cmake 为 VS 编译器设置这些标志?

如果我没有找到已经回答的问题,我可能会将其作为一个单独的问题提出。

感谢大家的帮助。

于 2013-06-07T18:11:26.820 回答