让VS调试器正确显示UTF-8字符串

默认的, VC调试器只能正常显示ANSI字符串及UNICODE字符串, 而UTF-8字符串及其他格式则无法显示

这里无需编写插件及修改配置文件,只需要将要显示的字符串拉到Watch中,并在变量后面添加,s8即可显示

【VS编译器】VS编译器常见错误和经验记录_预编译头​ --> ​【VS编译器】VS编译器常见错误和经验记录_javascript_02

同样类型的功能也应该很熟悉

,数字  将变量拆分为数组显示, 数字是要显示多少位, 此法对const char*这类原始字符串非常有用

,x 16进制查看

,hr  查看Windows HRESULT解释

,wm Windows消息,例如0x0010, wm 显示 WM_CLOSE

常见错误

error C1083:

一、 

…… fatal error C1083: 无法打开预编译头文件:“Debug\lean.pch”: No such file or directory

方法1,rebuild all

方法2,项目-〉属性-〉C/C++ -〉预编译头,修改 创建/使用预编译头 为 创建预编译头。

中:修改:项目->属性->C/C++ ->预编译头->不使用预编译头

 

二、

1>C:\Program Files\Windows CE Tools\wce600\Mini2440-CE6-SDK\include\ARMV4I\shlobj.h(120) : fatal error C1083: Cannot open include file: 'winnetwk.h': No such file or directory

 

SDK包里制作的不完善,会差东西。

到目录D:\WINCE600\PUBLIC\COMMON\SDK\INC下面找到该文件,可以自己添加进要定制的SDK!

​http://www.arm9home.net/read.php?tid-4352-fpage-0-toread--page-1.html​

 

error C3861:

 

常用的函数竟然出错,提示找不到标志:

1>c:\wince600\osdesigns\lean\lean\leandlg.cpp(174) : error C3861: “cos”: 找不到标识符

1>c:\wince600\osdesigns\lean\lean\leandlg.cpp(174) : error C3861: “sin”: 找不到标识符

 

没有包含相应的头文件#include "math.h"

2012.8.22

 

 

……处未处理的异常,读取0x??位置时发生访问冲突

​​


void CSettingDlg::OnPaint()

{

…… 

 GetDlgItem(IDC_SMPLE)->GetClientRect(&rect);

 GetDlgItem(IDD_DLG_SETTING)->GetWindowRect(&rect);

……

}

GetWindowRect 为 CSettingDlg类的函数,无需前面的指针

改成:

void CSettingDlg::OnPaint()

{

…… 

 GetDlgItem(IDC_SMPLE)->GetClientRect(&rect);

 GetWindowRect(&rect);

……

}

 

error PRJ0004 : 

win32平台中的程序转换为wince中的一些错误

>ToolBox : error PRJ0004 : 未能为“VCCLCompilerTool”工具生成命令行。

从原有的平台复制参数

应该是error PRJ0004 : Could not generate command line for the ‘VCCLCompilerTool’ tool 

Try Project Settings->C/C++->General->Debug Information Format = 4, change it to /Zi 

(项目->属性->C/C++->调试信息格式->改成   程序数据库(/Zi))

This happens after project conversion from older version of VS compiler.

 

Error 1 fatal error C1189: 

#error :  ERROR: Use of C runtime library internal header file.

\Microsoft Visual Studio 8\VC\ce\include\crtdefs.h 100 

 

把PC上的代码移植到WINCE上,打开解决方案后修改了项目属性,将目标平台设置为wince的。

build的时候就出现了上面的问题该怎么解决?

 

 

PC的应用程序移植到CE设备上,会出现某些函数CE平台不支持的问题,这个就需要具体问题具体分析了。

​http://social.msdn.microsoft.com/Forums/zh-CN/windowsembeddedcezhchs/thread/8305924b-69aa-4899-999a-136a379d5028​

(#error 是预处理命令。表示程序如果编译到这里就是不对的,就会报错。对于楼主这种情况,这个#error是为了保证必须定义_CRTBLD或者_WIN32_WCE这两个宏。​​​

 

#if !defined(_CRTBLD) && !defined(_WIN32_WCE)

 

#error ERROR: Use of C runtime library internal header file.

 

 error C2065: 

 error C2065: '' 'IDD_CRANETOWER2_DIALOG' '' : undeclared identifier

开发平台:VC/VS2005/VS2008/VS2010

出现错误:error C2065: ''IDD_CRANETOWER2_DIALOG'' : undeclared identifier,IDD_CRANETOWER2_DIALOG为对话框ID号。

错误原因:没有包含Resource.h头文件

解决办法:在该源文件的顶部添加:#include "Resource.h"。(注意: #include "Resource.h" 一定要包含在 该源文件的头文件前面)

 

vs 2005/2008/2010 资源在另一个编辑器中打开  错误  2012.9.3

 

菜单栏:窗口->关闭所有文档  然后重新在资源管理器打开