c++ - "Function has no address"尽管禁用了优化 (/Od)

标签 c++ visual-c++ compiler-optimization msvc12

在 MSVC 2012 的调试过程中,我尝试从 Watch 窗口调用一些函数,以便将数据转储到文件中。但是,我不断收到此错误:

Function Matrix::Save has no address, possibly due to compiler optimizations.   

Matrix 类位于我自己的外部库中。快速检查表明,外部库中的所有方法都没有地址,并且所有从 Watch 调用它们的尝试都会返回此错误,但在头文件中定义的方法除外。主项目中的方法无论在哪里定义都有地址。

当然,整个解决方案都禁用了优化。符号正常加载。我该如何解决?

最佳答案

到目前为止,我找到了一种静态构建外部库的解决方法。使用静态链接库,可以找到方法的地址。配置管理器允许轻松地为 Release 保留动态库。

关于c++ - "Function has no address"尽管禁用了优化 (/Od),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27300112/

相关文章:

c++ - Qt 去除边距

c++ - 尝试在派生类中使用 spaceship 运算符

assembly - LLVM 如何避免为 `br` IR 指令生成冗余 native 代码?

visual-c++ - 仅在析构函数中的 sprintf 上出现 Visual C++ "Undeclared identifier"错误

c++ - directx 9 网格重叠 c++

C -- 通过带别名的非 const 指针修改 const

c - CMake 是将包含的 header 中的所有内容编译到可执行文件中还是仅将主类中使用的部分编译?

c++ - 为什么 fscanf() 从不返回 EOF?

c++ - 将 FFTW 库添加到 QT 项目中

c - Visual Studio 2013 C/C++ 调试器,让你调用一个函数并打印结果