我阅读this article并在VisualStudio 2017中创建了一个cpp控制台项目,包括一些标题。
stdafx.h中:
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
#include <PortableDeviceApi.h>
#include <PortableDevice.h>
我所做的就是这个,我犯了很多错误。
오류 C4430 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 35
오류 C2143 구문 오류: ','이(가) '&' 앞에 없습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 35
오류 C2803 'operator =='에는 클래스 형식의 정식 매개 변수가 적어도 하나는 있어야 합니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 35
오류 C2805 이항 'operator =='에 매개 변수가 너무 적습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 35
오류 C2065 'pkeyOne': 선언되지 않은 식별자입니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 35
오류 C2228 '.pid' 왼쪽에는 클래스/구조체/공용 구조체가 있어야 합니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 35
오류 C2065 'pkeyOther': 선언되지 않은 식별자입니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 35
오류 C2228 '.fmtid' 왼쪽에는 클래스/구조체/공용 구조체가 있어야 합니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 35
오류 C3861 'IsEqualIID': 식별자를 찾을 수 없습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 35
오류 C4430 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 36
오류 C2143 구문 오류: ','이(가) '&' 앞에 없습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 36
오류 C2803 'operator !='에는 클래스 형식의 정식 매개 변수가 적어도 하나는 있어야 합니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 36
오류 C2805 이항 'operator !='에 매개 변수가 너무 적습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 36
오류 C2065 'pkeyOne': 선언되지 않은 식별자입니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 36
오류 C2065 'pkeyOther': 선언되지 않은 식별자입니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\propkeydef.h 36
오류 C2065 'GUID_DEVINTERFACE_WPD': 선언되지 않은 식별자입니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 18
오류 C4430 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 18
오류 C2440 '초기화 중': 'initializer list'에서 'int'(으)로 변환할 수 없습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 18
오류 C2065 'GUID_DEVINTERFACE_WPD_PRIVATE': 선언되지 않은 식별자입니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 23
오류 C4430 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 23
오류 C2374 'DEFINE_GUID': 재정의. 여러 번 초기화했습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 23
오류 C2440 '초기화 중': 'initializer list'에서 'int'(으)로 변환할 수 없습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 23
오류 C2065 'GUID_DEVINTERFACE_WPD_SERVICE': 선언되지 않은 식별자입니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 28
오류 C4430 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 28
오류 C2374 'DEFINE_GUID': 재정의. 여러 번 초기화했습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 28
오류 C2440 '초기화 중': 'initializer list'에서 'int'(으)로 변환할 수 없습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 28
오류 C2065 'WPD_EVENT_NOTIFICATION': 선언되지 않은 식별자입니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 404
오류 C4430 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 404
오류 C2374 'DEFINE_GUID': 재정의. 여러 번 초기화했습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 404
오류 C2440 '초기화 중': 'initializer list'에서 'int'(으)로 변환할 수 없습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 404
오류 C2065 'WPD_EVENT_OBJECT_ADDED': 선언되지 않은 식별자입니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 408
오류 C4430 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 408
오류 C2374 'DEFINE_GUID': 재정의. 여러 번 초기화했습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 408
오류 C2440 '초기화 중': 'initializer list'에서 'int'(으)로 변환할 수 없습니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 408
오류 C2065 'WPD_EVENT_OBJECT_REMOVED': 선언되지 않은 식별자입니다. ConsoleApplication1 c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\portabledevice.h 412
...
由于我不熟悉Windows开发,这是第一次创建Windows应用程序,因此我无意处理此问题。如何解决此问题或如何获取有关此问题的信息?
答案 0 :(得分:0)
更新:我留下了最初的答案,但我认为这无关紧要。您是否肯定您按照以下顺序包含文件?
#include <PortableDeviceApi.h>
#include <PortableDevice.h>
由于这并不会在空控制台应用中产生任何错误,但是,如果您按照以下方式撤消订单,则错误列表与您的问题相符:
#include <PortableDevice.h>
#include <PortableDeviceApi.h>
以上假设您已安装SDK。
初步答案(很可能与问题无关)
这只是猜测,因为您的问题不完整(因为它没有完整的代码来重现问题),但我认为您可能忘记将proper main
returning int
which could result in C4430添加到控制台应用程序或其他一些简单的错误作为错误列表C2143中的下一个。有些人在声明或;
定义或声明后缺少int
。
在源代码中执行二进制搜索,方法是对其中的部分内容进行评论,看看究竟是什么导致了错误,如果您无法在一个小代码段中找到它,请在您的问题中发布源代码。