윈도우 프로그래밍을 20년 만에 해보는 것 같습니다.

기존에 누군가가 작업한 결재 모듈을 수정하는데 ... 넘어야 할 산이 너무 많습니다.

 

작업용 노트북을 옮기면서 두번째 삽질을 하고 있어서 기록으로 남겨둡니다.

 

아래 애러는 USB 관련 usbspec.h 파일에서 발생하는데 _MP 라는 구조체가 다른 곳에서 이미 선언되어 있어서 발생하는 것 같습니다.

기본적으로 윈도우에서 제공하는 헤더 파일 같은데 이것을 수정해도 괜찮은지 모르겠습니다. @.,@

파일의 위치는

C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared\usbspec.h

 

안좋은 방법이긴 하지만... 일단 결과는 얻어야 하니까...

이미 _MP 가 선언되어 있으면 해제 하고 다시 선언하도록 세줄을 추가 했습니다.

Notepad++ 같은 텍스트에디터를 관리자 권한으로 실행 해야 수정 후 저장 할 수 있습니다.

 

해당 오류는 탈출 했지만... 다른 에러가 남아 있습니다. ㅠㅠa

ChatGPT 에게 물어봐야 겠습니다.

 

 

※ 추가

아래 오류는 _ftime 라는 함수에서 발생 했는데 안정성이 떨어지기 때문에 안전한 함수인 _ftime64_s 를 사용하라고 합니다.

비추천으로 stdafx.h 파일에 _CRT_SECURE_NO_WARNINGS 선언을 추가 하라고 나옵니다.

#define _CRT_SECURE_NO_WARNINGS
#include <sys/timeb.h>
#include <time.h>

 

내가 카피한 기존 소스에는 없는데?...

찾아~찾아~ 어디 있을까?

이전 개발자는 프로잭트 속성에 아예 박아 버렸습니다.

 

1. Visual Studio 솔루션 탐색기에서 프로잭트 우클릭 -> 속성(Properties)

2. 왼쪽 메뉴 C/C++ > Perprocessor(전처리기)

3. Preprocessor Definitions(전처리기 정의)에 항목 추가 기존에 내용이 있으면 ; 로 구분

윗쪽 Configuration: 에 Debug->Release 바꿔 가면서 추가 확인해야 합니다.

 

아~~ 어렵다.

'C&C++' 카테고리의 다른 글

[MFC] 서비스 등록  (0) 2025.07.02

+ Recent posts