怎么来windows头文件包括我的然后导致错误信息? [英] How come windows header file including mine and then causes error message?

查看:136
本文介绍了怎么来windows头文件包括我的然后导致错误信息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下是使用VC ++ 2015编译的程序片段:



Below is snippet of my program compiled using VC++ 2015:

#define TARGET_SIMU
#include <iostream>

#define INT32_ALREADY_DEFINED

#define _CRT_RAND_S
#include <process.h>
#include <search.h>

#include "pcap.h"
#include "remote-ext.h"

#include "iptcom.h"        /* Common type definitions for IPT */
#include "iptcom_priv.h" 

#include "iphlpapi.h"





我收到如下信息(我删除了一些对讨论不重要的信息)。看到第一个错误。 VC ++头文件



I got message as below (I removed some which are not important for discussion). See the first error. The VC++ header file

C:\Program Files (x86)\Windows Kits\8.1\Include\shared\netioapi.h





包括我的头文件



includes my header file

D:\programs\TCL\DBU-collector\IPTCom-sample-codes\windows-libs\libs\win32\winpcap\ntddndis.h





怎么来的? Microsoft头文件没有理由包括我的。

来自



How come? There is no reason that Microsoft header file including mine.
The error from

netioapi.h

的错误,这也是微软的标题。

如何处理此类错误?





, which is Microsoft header too.
How can I do for such error?


1>------ Build started: Project: dsim, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(368,5): warning MSB8004: Output Directory does not end with a trailing slash.  This build instance will add the slash as it is required to allow proper evaluation of the Output Directory.
1>  dsim.cpp
1>  Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\iostream
1>  Note: including file:  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\istream
.............................................
1>  Note: including file:       C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits.h
1>  Note: including file:        C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime.h
1>  Note: including file:      C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cmath
.............................................
1>  Note: including file:        C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xlocale
1>  Note: including file:         C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\cstring
.............................................
1>  Note: including file:             C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\stdint.h
1>  Note: including file:              C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime.h
1>  Note: including file:            C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits
.............................................
1>  Note: including file:             C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\utility
1>  Note: including file:              C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\iosfwd
1>  Note: including file:               C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\crtdbg.h
1>  Note: including file:                C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime_new_debug.h
.............................................
1>  Note: including file:          C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xlocinfo.h
1>  Note: including file:           C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\ctype.h
.............................................
1>  Note: including file:        C:\Program Files (x86)\Windows Kits\8.1\Include\shared\ktmtypes.h
1>  Note: including file:      C:\Program Files (x86)\Windows Kits\8.1\Include\um\fileapi.h
.............................................
1>  Note: including file:      C:\Program Files (x86)\Windows Kits\8.1\Include\um\securitybaseapi.h
1>  Note: including file:      C:\Program Files (x86)\Windows Kits\8.1\Include\um\namespaceapi.h
.............................................
1>  Note: including file:      C:\Program Files (x86)\Windows Kits\8.1\Include\shared\poppack.h
1>  Note: including file:     C:\Program Files (x86)\Windows Kits\8.1\Include\um\winuser.h
.............................................
1>  Note: including file:      C:\Program Files (x86)\Windows Kits\8.1\Include\shared\pshpack8.h
1>  Note: including file:      C:\Program Files (x86)\Windows Kits\8.1\Include\shared\poppack.h
1>  Note: including file:     C:\Program Files (x86)\Windows Kits\8.1\Include\um\winsock.h
.............................................
1>  Note: including file:       C:\Program Files (x86)\Windows Kits\8.1\Include\um\propidl.h
1>  Note: including file:       C:\Program Files (x86)\Windows Kits\8.1\Include\shared\poppack.h
1>  Note: including file:      C:\Program Files (x86)\Windows Kits\8.1\Include\um\oleauto.h
1>  Note: including file:       C:\Program Files (x86)\Windows Kits\8.1\Include\shared\pshpack8.h
.............................................
1>  Note: including file:   C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\time.h
1>  Note: including file:   C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\io.h
1>  Note: including file:    C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_io.h
1>  Note: including file:   d:\programs\tcl\dbu-collector\iptcom-sample-codes\windows-libs\libs\win32\winpcap\IP6_misc.h
1>  Note: including file:    C:\Program Files (x86)\Windows Kits\8.1\Include\um\ws2tcpip.h
1>  Note: including file:     C:\Program Files (x86)\Windows Kits\8.1\Include\shared\ws2ipdef.h
1>  Note: including file:      C:\Program Files (x86)\Windows Kits\8.1\Include\shared\in6addr.h
1>  Note: including file:  D:\programs\TCL\DBU-collector\IPTCom-sample-codes\windows-libs\libs\win32\winpcap\pcap-bpf.h
1>  Note: including file: D:\programs\TCL\DBU-collector\IPTCom-sample-codes\windows-libs\libs\win32\winpcap\remote-ext.h
1>  Note: including file: D:\programs\TCL\DBU-collector\IPTCom\iptcom-api\api\iptcom.h
1>  Note: including file:  d:\programs\tcl\dbu-collector\iptcom\iptcom-api\api\ipt.h
1>  Note: including file:   D:\programs\TCL\DBU-collector\IPTCom\export-tdc\api\iptDef.h
1>  Note: including file:  d:\programs\tcl\dbu-collector\iptcom\iptcom-api\api\mdcom.h
1>  Note: including file:  d:\programs\tcl\dbu-collector\iptcom\iptcom-api\api\pdcom.h
1>  Note: including file:   d:\programs\tcl\dbu-collector\iptcom\iptcom-api\api\iptcom.h
1>  Note: including file: D:\programs\TCL\DBU-collector\IPTCom\iptcom-source\src\prv\iptcom_priv.h
1>  Note: including file:  D:\programs\TCL\DBU-collector\IPTCom\export-tdc\api\tdcSyl.h
1>  Note: including file:   d:\programs\tcl\dbu-collector\iptcom\export-tdc\api\iptDef.h
1>  Note: including file:  D:\programs\TCL\DBU-collector\IPTCom\export-tdc\api\tdcApi.h
1>  Note: including file:   d:\programs\tcl\dbu-collector\iptcom\export-tdc\api\tdcSyl.h
1>  Note: including file:  D:\programs\TCL\DBU-collector\IPTCom\iptcom-api\api\vos.h
1>  Note: including file:  d:\programs\tcl\dbu-collector\iptcom\iptcom-source\src\prv\vos_priv.h
1>  Note: including file:  d:\programs\tcl\dbu-collector\iptcom\iptcom-source\src\prv\mdcom_priv.h
1>  Note: including file:  d:\programs\tcl\dbu-collector\iptcom\iptcom-source\src\prv\netdriver.h
1>  Note: including file:  d:\programs\tcl\dbu-collector\iptcom\iptcom-source\src\prv\pdcom_priv.h
1>  Note: including file: C:\Program Files (x86)\Windows Kits\8.1\Include\um\iphlpapi.h
1>  Note: including file:  C:\Program Files (x86)\Windows Kits\8.1\Include\shared\iprtrmib.h
1>  Note: including file:   C:\Program Files (x86)\Windows Kits\8.1\Include\shared\mprapidef.h
1>  Note: including file:    C:\Program Files (x86)\Windows Kits\8.1\Include\shared\lmcons.h
1>  Note: including file:   C:\Program Files (x86)\Windows Kits\8.1\Include\shared\ipifcons.h
1>  Note: including file:   C:\Program Files (x86)\Windows Kits\8.1\Include\shared\ipmib.h
1>  Note: including file:    C:\Program Files (x86)\Windows Kits\8.1\Include\shared\ifmib.h
1>  Note: including file:     C:\Program Files (x86)\Windows Kits\8.1\Include\shared\ifdef.h
1>  Note: including file:    C:\Program Files (x86)\Windows Kits\8.1\Include\shared\nldef.h
1>  Note: including file:   C:\Program Files (x86)\Windows Kits\8.1\Include\shared\tcpmib.h
1>  Note: including file:   C:\Program Files (x86)\Windows Kits\8.1\Include\shared\udpmib.h
1>  Note: including file:  C:\Program Files (x86)\Windows Kits\8.1\Include\um\ipexport.h
1>  Note: including file:   C:\Program Files (x86)\Windows Kits\8.1\Include\shared\packon.h
1>  Note: including file:   C:\Program Files (x86)\Windows Kits\8.1\Include\shared\packoff.h
1>  Note: including file:  C:\Program Files (x86)\Windows Kits\8.1\Include\um\iptypes.h
1>  Note: including file:  C:\Program Files (x86)\Windows Kits\8.1\Include\shared\tcpestats.h
1>  Note: including file:  C:\Program Files (x86)\Windows Kits\8.1\Include\shared\netioapi.h
1>  Note: including file:   D:\programs\TCL\DBU-collector\IPTCom-sample-codes\windows-libs\libs\win32\winpcap\ntddndis.h
1>c:\program files (x86)\windows kits\8.1\include\shared\netioapi.h(163): error C3646: 'PhysicalMediumType': unknown override specifier
1>c:\program files (x86)\windows kits\8.1\include\shared\netioapi.h(163): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\programs\tcl\dbu-collector\dsim\dsim.cpp(115): error C2065: 'ETH_CARD': undeclared identifier
1>d:\programs\tcl\dbu-collector\dsim\dsim.cpp(115): error C2065: 'pCard': undeclared identifier
1>d:\programs\tcl\dbu-collector\dsim\dsim.cpp(121): error C2065: 'pCard': undeclared identifier
1>d:\programs\tcl\dbu-collector\dsim\dsim.cpp(121): error C3861: 'GetCardRef': identifier not found
1>d:\programs\tcl\dbu-collector\dsim\dsim.cpp(124): error C2065: 'pCard': undeclared identifier
1>d:\programs\tcl\dbu-collector\dsim\dsim.cpp(143): error C2065: 'pCard': undeclared identifier
1>d:\programs\tcl\dbu-collector\dsim\dsim.cpp(143): error C3861: 'AddSimulatedInterface': identifier not found
1>d:\programs\tcl\dbu-collector\dsim\dsim.cpp(129): error C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>  c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h(2254): note: see declaration of 'sscanf'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========





我尝试了什么:



我在MSDN论坛发布此问题但没有得到回复。我不希望包含。



What I have tried:

I posted this problem at MSDN forum but got no response. The inclusion is not expected by me either.

推荐答案

netioapi.h 包括 ntddndis.h 因为它是一个Windows SDK头文件。



在您的设置中,由于包含搜索顺序,还有另一个同名的头文件。



为避免这种情况,请确保通过调整项目设置中的顺序,在其他目录(此处为 winpcap include目录)之前搜索SDK包含目录。



如果错误仍然存​​在,请检查SDK目录中是否存在 ntddndis.h 文件。如果没有,请重新安装SDK。
netioapi.h is including ntddndis.h because it is a Windows SDK header file.

In your setup there is another header file with the same name which is loaded due to the include search order.

To avoid this, ensure that the SDK include directories are searched before other directories (the winpcap include directory here) by adjusting the order in the project settings.

If the error is then still present, check if the file ntddndis.h exists in the SDK directory. If not, reinstall the SDK.


这篇关于怎么来windows头文件包括我的然后导致错误信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆