none
[VC6.0]遇到fatal error C1189: #error,与SSPI头有关,不知道如何修改 RRS feed

  • 问题

  • c:\program files\microsoft visual studio\vc98\include\sspi.h(22) : fatal error C1189: #error : _WIN32 must be defined //error Error executing cl.exe.

    我对SSPI并不了解,可以说是刚刚接触而已,网上搜索的关于SSPI的资料也很少。

    有些资料提到关于Kerberos安全验证,要使用这个SSPI接口,

    自己在程序添加了一个#include <sspi.h>,编译一下就出现了这个错误

    不知道该怎么修改,请高人解答

    另外希望能推荐一些关于这方面的书籍或资料,感谢

    2010年4月15日 1:21

答案

  • 这是由于sspi要求运行在windows 2000后的更高版本。

    所以需要指定运行的windows 版本。

    你可以项目的c/C++中Preprocessor Definitions添加_WIN32_WINNT 0x0500或者_WIN32_WINNT 0x0501


    麻烦把正确答案设为解答。
    • 已标记为答案 Nancy Shao 2010年4月21日 5:52
    2010年4月16日 1:28
    版主
  • 已经找到解决方法

    只需要在SSPI钱添加以下代码就好

    #include <windows.h>
    #define SECURITY_WIN32
    #include <security.h>

     

    仍然感谢SplendourG

    • 已标记为答案 kyochen_ms 2010年4月22日 2:20
    2010年4月22日 2:19

全部回复

  • 需要在工程中添加预编译宏_WIN32
    麻烦把正确答案设为解答。
    2010年4月15日 2:04
    版主
  • 需要在工程中添加预编译宏_WIN32
    麻烦把正确答案设为解答。
    能详细点吗?
    2010年4月16日 1:18
  • 这是由于sspi要求运行在windows 2000后的更高版本。

    所以需要指定运行的windows 版本。

    你可以项目的c/C++中Preprocessor Definitions添加_WIN32_WINNT 0x0500或者_WIN32_WINNT 0x0501


    麻烦把正确答案设为解答。
    • 已标记为答案 Nancy Shao 2010年4月21日 5:52
    2010年4月16日 1:28
    版主
  • 已经找到解决方法

    只需要在SSPI钱添加以下代码就好

    #include <windows.h>
    #define SECURITY_WIN32
    #include <security.h>

     

    仍然感谢SplendourG

    • 已标记为答案 kyochen_ms 2010年4月22日 2:20
    2010年4月22日 2:19
  • ssp在哪里啊,怎么加。麻烦说详细点啊
    2011年8月16日 7:31