您的位置:首页 > 其它

调试putty出现的问题及解决方法

2015-10-08 22:13 375 查看
1、#define crReturnV
\

do {\

*crLine=__LINE__; return; case __LINE__:;\

} while (0)

问题:error C2051: case 表达式不是常量,按照宏替换的道理,__LINE __应该是会换成行号,是整数常量

解决方法:这是由于编辑器的配置环境导致的,可在项目->属性->C/C++->常规中将调试信息格式改为/Zi即可

因为使用/ZI表示编辑并继续运行,所以__LINE__应该可以中途变动,必然不能是常量,

而case要求__LINE__在编译之前就决定为常数,不能是动态修改的,这样两者就相冲突。

2、

1>WINCTRLS.obj : error LNK2019: 无法解析的外部符号 __imp__MakeDragList@4,该符号在函数 _prefslist 中被引用

1>WINCTRLS.obj : error LNK2019: 无法解析的外部符号 __imp__LBItemFromPt@16,该符号在函数 _pl_itemfrompt 中被引用

1>WINCTRLS.obj : error LNK2019: 无法解析的外部符号 __imp__DrawInsert@12,该符号在函数 _handle_prefslist 中被引用

1>WINDOW.obj : error LNK2019: 无法解析的外部符号 __imp__InitCommonControls@0,该符号在函数 _WinMain@16 中被引用

1>WINDOW.obj : error LNK2019: 无法解析的外部符号 _ImmGetCompositionStringW@16,该符号在函数 _WndProc@16 中被引用

1>WINDOW.obj : error LNK2019: 无法解析的外部符号 _ImmReleaseContext@8,该符号在函数 _WndProc@16 中被引用

1>WINDOW.obj : error LNK2019: 无法解析的外部符号 _ImmSetCompositionFontW@8,该符号在函数 _WndProc@16 中被引用

1>WINDOW.obj : error LNK2019: 无法解析的外部符号 _ImmGetContext@4,该符号在函数 _WndProc@16 中被引用

1>WINDOW.obj : error LNK2019: 无法解析的外部符号 _ImmSetCompositionWindow@8,该符号在函数 _sys_cursor_update 中被引用

1>WINDOW.obj : error LNK2019: 无法解析的外部符号 __imp__PlaySoundW@12,该符号在函数 _do_beep 中被引用

1>D:\_Code\VLAN\Debug\VLAN.exe : fatal error LNK1120: 10 个无法解析的外部命令

这是缺少数据库导致的!

此时可以查询MakeDragList和ImmSetCompositionWindow等等这些函数,这样就能知道程序缺少的是什么样的lib文件了。

此时有两种方法:

a、项目
属性 连接器 输入 附加依赖项中加入相应的.lib文件。如comctl32.lib并加上头文件commctrl.h

b、或加入#pragma
comment(lib, "comctl32.lib")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: