Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 2개 있습니다.)
C++/CLI 컴파일 오류 - error C2872: 'IServiceProvider' : ambiguous symbol could be ...

ATL 컬렉션을 사용하는 C++/CLI 코드를 빌드할 때, 다음과 같은 오류가 발생한다면?

1>------ Build started: Project: ClassLib, Configuration: Release x64 ------
1>  TestHash.cpp
1>c:\...[생략]...\servprov.h(96): error C2872: 'IServiceProvider' : ambiguous symbol
1>          could be 'c:\...[생략]...\servprov.h(53) : System::IServiceProvider IServiceProvider'
1>          or       'c:\...[생략]...\.netframework\v4.0\mscorlib.dll : System::IServiceProvider'
1>c:\...[생략]...\servprov.h(96): error C3699: '*' : cannot use this indirection on type 'IServiceProvider'
1>          compiler replacing '*' with '^' to continue parsing
1>c:\...[생략]...\servprov.h(103): error C2371: 'IServiceProvider' : redefinition; different basic types
1>          c:\...[생략]...\servprov.h(53) : see declaration of 'IServiceProvider'
1>c:\...[생략]...\servprov.h(120): error C2872: 'IServiceProvider' : ambiguous symbol
1>          could be 'c:\...[생략]...\servprov.h(103) : IServiceProvider'
1>          or       'c:\...[생략]...\.netframework\v4.0\mscorlib.dll : System::IServiceProvider'
1>c:\...[생략]...\servprov.h(241): error C2872: 'IServiceProvider' : ambiguous symbol
1>          could be 'c:\...[생략]...\servprov.h(103) : IServiceProvider'
1>          or       'c:\...[생략]...\.netframework\v4.0\mscorlib.dll : System::IServiceProvider'
1>c:\...[생략]...\servprov.h(251): error C2872: 'IServiceProvider' : ambiguous symbol
1>          could be 'c:\...[생략]...\servprov.h(103) : IServiceProvider'
1>          or       'c:\...[생략]...\.netframework\v4.0\mscorlib.dll : System::IServiceProvider'
1>C:\...[생략]...\urlmon.h(6459): error C2872: 'IServiceProvider' : ambiguous symbol
1>          could be 'c:\...[생략]...\servprov.h(103) : IServiceProvider'
1>          or       'c:\...[생략]...\.netframework\v4.0\mscorlib.dll : System::IServiceProvider'
1>C:\...[생략]...\urlmon.h(6461): error C2872: 'IServiceProvider' : ambiguous symbol
1>          could be 'c:\...[생략]...\servprov.h(103) : IServiceProvider'
1>          or       'c:\...[생략]...\.netframework\v4.0\mscorlib.dll : System::IServiceProvider'
1>C:\...[생략]...\ocidl.h(6261): error C2872: 'IServiceProvider' : ambiguous symbol
1>          could be 'c:\...[생략]...\servprov.h(103) : IServiceProvider'
1>          or       'c:\...[생략]...\.netframework\v4.0\mscorlib.dll : System::IServiceProvider'
2>------ Build started: Project: ConsoleApplication1, Configuration: Release x64 ------
2>  ConsoleApplication1 -> D:\...[생략]...\ConsoleApplication1.exe
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

아마도, 소스 코드에서 "using namespace"와 ATL 컬렉션을 include 하는 구문이 다음과 같은 순서일 것입니다.

using namespace System;
using namespace System::Collections;

#include <atlcoll.h>
using namespace ATL;

아래와 같이 바꿔주시면 ^^ 컴파일 오류가 발생하지 않습니다.

#include <atlcoll.h>
using namespace ATL;

using namespace System;
using namespace System::Collections;



[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 7/10/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 136  137  138  139  140  141  142  143  144  145  146  147  148  149  [150]  ...
NoWriterDateCnt.TitleFile(s)
1394정성태12/25/201225553.NET Framework: 353. x86 - AspCompat과 STA COM 개체가 성능에 미치는 영향
1393정성태12/25/201226915.NET Framework: 352. x64에서 필수로 지정하도록 바뀐 STAThread 특성 [2]
1392정성태12/21/201236814사물인터넷: 1. .NET Micro Framework - 넷두이노 플러스 [7]
1391정성태12/21/201229305.NET Framework: 351. JavaScriptSerializer, DataContractJsonSerializer, Json.NET [3]파일 다운로드1
1390정성태12/20/201227815.NET Framework: 350. String 데이터를 Stream으로 변환하는 방법 [2]
1389정성태12/12/201225879.NET Framework: 349. .NET Thread 인스턴스로부터 COM Apartment 유형 확인하는 방법파일 다운로드1
1388정성태12/12/201226890.NET Framework: 348. .NET x64 응용 프로그램에서 Teb 주소를 구하는 방법파일 다운로드1
1387정성태12/12/201232364VC++: 64. x64 Visual C++에서 TEB 주소 구하는 방법
1386정성태12/12/201232882디버깅 기술: 53. windbg - 덤프 파일로부터 네이티브 DLL을 추출하는 방법 [1]
1385정성태12/12/201229025디버깅 기술: 52. Windbg - The version of SOS does not match the version of CLR you are debugging.
1384정성태12/12/201233228개발 환경 구성: 178. System32 폴더의 64비트 DLL을 32비트 Depends.exe에서 보는 방법
1383정성태12/10/201229433개발 환경 구성: 177. 기업용 메신저를 위한 Office Communicator Server 2007 설치 [1]
1382정성태12/8/201231734개발 환경 구성: 176. WebPagetest 서버 - 설치 및 테스트
1381정성태12/5/201230875.NET Framework: 347. C# - 프로세스(EXE) 수준의 Singleton 개체 생성 [2]파일 다운로드1
1380정성태11/28/201241062.NET Framework: 346. 닷넷 개발자에게 Node.js의 의미 [17]
1379정성태11/26/201234493.NET Framework: 345. C# 부호(+, -)에 대한 비트 변환 [1]
1378정성태11/22/201235337Java: 14. 안드로이드 - Hello World 실습 [7]
1377정성태11/19/201229465.NET Framework: 344. 닷넷 프로파일러 - ICorProfilerInfo::GetILFunctionBody 함수 버그
1376정성태11/15/201234183디버깅 기술: 51. 닷넷 응용 프로그램에서 특정 예외가 발생했을 때 풀 덤프 받는 방법 [6]
1375정성태11/15/201229977디버깅 기술: 50. windbg의 mscordacwks DLL 로드 문제 - 두 번째 이야기
1374정성태11/13/201227456개발 환경 구성: 175. Visual Studio의 "Extension Manager"에서 설치된 구성 요소들의 제거 버튼이 비활성화되었다면!
1373정성태11/13/201228116.NET Framework: 343. VB.NET 어셈블리의 .NET Reflector 소스 코드를 분석할 때 알아두면 좋은 사항
1372정성태11/1/2012122921Windows: 67. 64비트 윈도우에서 Internet Explorer 10이 항상 64비트로만 실행된다면? [57]
1371정성태10/31/201231331.NET Framework: 342. Python의 zip과 with 문 context를 C#과 비교하면. [3]파일 다운로드1
1370정성태10/31/201225754VS.NET IDE: 75. Visual Studio - "Active Solution Platform" 변경을 툴바에서 하는 방법
1369정성태10/31/201238818개발 환경 구성: 174. 윈도우에서 Mono 개발 환경 구성 [4]
... 136  137  138  139  140  141  142  143  144  145  146  147  148  149  [150]  ...