Chat GPT를 이용한 오류 해결 - E0266 "ACCESS_MASK" is ambiguous

반응형
728x90
반응형

미드저니로 추출한 "기타치는 얼룩말" 입니다. 최근 동물원에서 탈출한 "세로"를 위해 한번 출력해보았습니다. 
자연스러워 보이지만, 자연스럽지 않은!? 사진이죠? 
 
 

 

개요

 

  최근, Chat GPT와 미드저니 및 기타 AI관련 저작도구들을 사용해보고 있었습니다. 연구과제 제안서 및 발표자료를 작성하면서 열심히 활용하였는데, 블로그 포스팅을 하면서 더 열심히 사용할 수 있지 않을까 합니다. 
 

 

오늘은 SW개발 작업 도중 아래와 같은 오류를 만나게 됩니다. 
 
 
Severity Code Description Project File Line Suppression State
Error (active) E0266 "ACCESS_MASK" is ambiguous clrLibrary C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\ktmw32.h 133
 
 
참고 : C/C++ 기반 openCV와 Windows Library 내부 ACCESS_MASK 상수가 충돌이 발생하여 나타나는 오류입니다. 
이 오류는 참고로 구글링을 통해, 문제를 해결하는 방법을 알고 있었습니다. 하지만, 신규 프로젝트를 생성하여 사용하다보면, 그 방법도 해결을 할 수 없는 난관에 봉착하게 됩니다. 
 
 

 

기존 해결방법
 
해결 방안으로는 다음과 같습니다. 
"OpenCV가 사용된 위치의 opencv.hpp 등..의 헤더보다 앞에 #include <Windows.h> 을 추가해주면 됨"
"만약 안된다면, opencv 관련 헤더 및 using namespace cv 를 사용하는 모든곳에 추가하면 됨."
 
이라고 명시되어 있습니다. 프로젝트 파일의 규모가 커질 수록, 다양한 라이브러리와 문제를 일으키며 해결되지 않는 경우가 있습니다. 
블로그 포스팅하는 오늘 아침부터 열심히 작업하다 만난 오류이지만, 정답은 알지만 해결 할 수 없는 그런 어처구니 없는 상황? 
 
이러한 상황에 Chat GPT를 이용하여, 어떻게 해결하면 좋을지 계속 확인 해보았습니다. 
여러 답변 중에 다음과 같이 질문을 하였습니다. 
 
질문내용
C++ openCV를 사용할 때 아래와 같은 오류가 발생한다. 해결방법은?

 

Severity Code Description Project File Line Suppression State
Error (active) E0266 "ACCESS_MASK" is ambiguous clrBiometricLibLim C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\ktmw32.h 133
 
 
답변 내용(이미지로 캡쳐)
 
라고 알려줍니다. 기존에 알고 있던 방법을 조금 다르게 변경된것 처럼 느껴지시죠? 
이를 실제 프로젝트에서 해결한 코드는 다음과 같습니다. 
 
 
실제 해결방법
// pch.h: This is a precompiled header file.
// Files listed below are compiled only once, improving build performance for future builds.
// This also affects IntelliSense performance, including code completion and many code browsing features.
// However, files listed here are ALL re-compiled if any one of them is updated between builds.
// Do not add files here that you will be updating frequently as this negates the performance advantage.
 
#ifndef PCH_H
#define PCH_H
 
// add headers that you want to pre-compile here
 
#include <Windows.h> // Windows.h 포함
#include <ktmw32.h>  // ktmw32.h 포함
 
#endif //PCH_H
 
CLR 모듈을 생성할 때, PCH 파일에 상단과 같이 코드를 추가하면 ACCESS_MASK 오류가 없어진다.
 
 
 
Windows 기반 WPF 프로젝트이며, pch.h 헤더 파일에 chat GPT가 알려준 소스코드를 추가하였습니다. 
물론 현위치에 동일하게 기존 방법을 적용하였지만, 그래도 오류가 발생하였기에 조금 더 명쾌한 답을 얻었던 것이 아닐까 하네요. 
 
블로그를 포스팅하면서, 기존에 테스트하면서 얻었던 결과물을 하나씩 정리해 볼까? 그런 생각도 들지만, 지금 하고 있는 3D디자인 작업을 먼저 마무리 하고 다시 블로그 포스팅으로 돌아오도록 하겠습니다. 🙂
오랫만의 블로그 포스팅이지만, 종종 작성하도록 하겠습니다 🙂
 
728x90
반응형

댓글

Designed by JB FACTORY