error C2065: 'CERT_NAME_BLOB' : undeclared identifier?

feng8220 2008-06-16 02:32:00
错误指向:CERT_NAME_BLOB SubName;
鼠标放在 CERT_NAME_BLOB 上显示:typedef _CRYPTOAPI_BLOB CERT_NAME_BLOB
这是为什么?
...全文
168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
feng8220 2008-06-20
  • 打赏
  • 举报
回复
少安装了microsoft platform sdk 包,装上把lib和include引用进来就没事了。
ToperRay 2008-06-17
  • 打赏
  • 举报
回复
找到CERT_NAME_BLOB

你得让编译器认识这个符号代表什么啊。
ouyh12345 2008-06-16
  • 打赏
  • 举报
回复
msdn C2065

看看以下方法是否能解决问题:
Make sure any include file containing the required declaration is not omitted.


Make sure you are including any necessary header files if you have defined VC_EXTRALEAN, WIN32_LEAN_AND_MEAN, or WIN32_EXTRA_LEAN. Defining these symbols excludes some functionality (certain header files are excluded) from windows.h and afxv_w32.h (for MFC applications) to speed compiles. Search windows.h and afxv_w32.h for these symbols for the most up-to-date description of what is excluded.


Make sure the identifier name is spelled correctly.


Make sure the identifier is using the correct upper- and lowercase letters.


Make sure all string constants have closing quotes.


This error can be caused by having a newline character in a string constant without a continuation character. For example:
#include <stdio.h>
main() {
printf("\n %s
%s // error: 's' : undeclared identifier
%s",
"this", "is", "it");
}

Special considerations must be taken when splitting a constant string over several lines. The most common method is to change the format string. Strings separated only by whitespace (spaces, tabs, newlines) are concatenated. For example:
#include <stdio.h>
main() {
printf("\n %s"
" %s"
" %s",
"this", "is", "it");
}

An older, less-preferred method is to use line continuation by typing a backslash at the end of a line. For example:
printf("\n %s\
%s\
%s",
"this", "is", "it");

This method is not often used because the spaces at the beginning of each continued line become part of the string.

Make sure you're using proper namespace scope. For example, in order to properly resolve ANSI C++ Standard Library functions and operators, you must state that you're using the std namespace with the using directive.
For example, unless the using directive is uncommented, the following sample will fail to compile because the cout stream is defined in the std namespace:

#include <iostream>
// using namespace std;
void main()
{
cout << "Hello" << endl;
}

cnzdgs 2008-06-16
  • 打赏
  • 举报
回复
_CRYPTOAPI_BLOB没有定义吧?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧