您的位置:首页 > 其它

CXX0017: 错误: 没有找到符号(Error:symbol xxx not found)

2017-01-01 00:47 776 查看
编程环境:Visual Studio 2010

首先确定是在 Debug 配置状态。

初始解决方案如下:

错误现象:CXX0017: Error: symbol this not found

方法 1:

将编译优化选项设置为”/Od”就可以了。

工程右键 -> Properties -> Configuration Properites -> C/C++ -> Optimization -> Optimization: Disabled(/Od)

注:如果解决,程序可能存在逻辑错误


方法 2:

将VS生成的工程文件全部删除,(Debug目录下的pdb文件),然后全部重新生成

如果未解决

可能是 Visual Studio 2010 自身bug问题。见 MSDN bug report

https://connect.microsoft.com/VisualStudio/feedback/details/613569/cannot-inspect-local-variables-while-debugging-in-vs2010-cxx0017-symbol-not-found-error#details

情况 1.

int _tmain(int argc, _TCHAR* argv[])
{
float f = 123.0;   //声明并初始化

if(false)
{
int str1;   //if中声明新变量。关键!去掉此处可以解决问题,所以可在 if 外声明
}
else
{
//else中声明的变量在调试时,出问题
int str2;
int a = 123;
a++;
}
return 0;
}


情况 2. 解决方案 将 k 作为局部变量使用,即for(int k=0;k<2;k++)

#include <stdio.h>

int main()
{
int arr[5];
int k;    //循环变量,非局部
float f=123;

for(k=0;k<2;k++)
{
arr[k] = 2;

int t = 5;
printf("%d\n",t);
}

int i = 2;

if(i > 0)    //if从句内出现的 新变量,也会出现问题
{
int joke;
printf("waht\n");
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: