none
编译错误 RRS feed

  • 问题

  • 大家好
    昨天下了winpacp 4.02开发包 编译其中一例子时 错误如下 求助

    Compiling...
    basic_dump_ex.c
    e:\wind\program files\microsoft visual studio 9.0\vc\include\stdio.h(358) : error C3163: '_vsnprintf': attributes inconsistent with previous declaration
            e:\wind\program files\microsoft visual studio 9.0\vc\include\stdio.h(350) : see declaration of '_vsnprintf'
    e:\新建文件夹\wpdpack_4_0_2\wpdpack\include\pcap.h(348) : fatal error C1020: unexpected #endif
    Build log was saved at "file://e:\新建文件夹\WpdPack_4_0_2\WpdPack\Examples-pcap\basic_dump_ex\Debug\BuildLog.htm"
    basic_dump_ex - 2 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    2009年7月2日 6:47

答案

全部回复

  • 解决办法:

    找到程序中定义vsnprintf的宏(可能在某个被包含的头文件中),这里出现的问题的宏原来定义为#    define vsnprintf _vsnprintf。解决办法就是将其注释,原因是VC2008 已经定义了。

    修改成如下的样子:

    #if (_MSC_VER != 1500)   // 只针对VC++ 2008注释下面的代码行
    #    define vsnprintf _vsnprintf
    #endif

    或者修改为:

    #if (_MSC_VER < 1500)
    #define vsnprintf _vsnprintf
    #endif

     

    推荐使用第二种改法!


    ♡. Microsoft .NET Platform
    2009年7月2日 6:49
  • 在哪个头文件呢
    2009年7月2日 7:03
  • wpdpack \include\pcap-stdinc.h  试试这里
    ♡. Microsoft .NET Platform
    • 已标记为答案 云端 2009年7月2日 7:11
    2009年7月2日 7:08
  • thank you very much!

    2009年7月2日 7:11