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

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")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值