MFC

[에러해결] Cannot open include file: 'c:\project\debug\MSADO15.tlh', MFC 기반의 MS SQL을 ADO OLE DB와 연결

WantAirpod 2020. 11. 11. 10:37
반응형

MFC 기반의 MS SQL을 ADO OLE DB와 연결 중

#import "C:\PROGRAM FILES\COMMON FILES\SYSTEM\ADO\MSADO15.DLL" \
no_namespace rename("EOF", "EndOfFile")
[오류]
Cannot open
 include file: 'c:\project\debug\MSADO15.tlh'

 

해당 dll을 import가 안되는 오류 발생 

[해결방법]

  1. C/C++ -> 일반 -> 다중 프로세스 컴파일 YES(/MP)로 수정

2. C/C++ ->코드 일반화 -> 최소 리빌딩 (NO/GM-) 수정

3.#import "C:\PROGRAM FILES\COMMON FILES\SYSTEM\ADO\MSADO15.DLL" \
no_namespace rename("EOF", "EndOfFile") 를 atdafx.h의 전처리 맨 마지막에 설정한다. 

이유 : 너무 먼저 선언해버리면 window.h 와 같은 전처리기와 충돌발생

 

 

해당 dll 을 import 하면 _ConnectionPtr, _RecordsetPtr, _CommandPtr 3개의 타입을 사용 가능.

 

 

Visual Studio는 Compile시 multi-processor compilation을 지원한다.
processor는 각각 파일 하나씩을 담당하여 compile을 진행한다.
따라서 core가 많을수록 compile속도는 증가한다.

multi-processor compilation 옵션을 켰을 때
compile속도가 50초에서 6초로 줄어 들었다.

Project 의Property Pages에서
Configuration Properties
    -> C/C++
        ->General
            맨 밑의 Multi-processor Compilation을 YES로 변경

만약 Minimal Rebuild가 켜져 있을 경우 /MP가 무시되므로 아래와 같이 변경해준다.
Configuration Properties
    -> C/C++
        ->Code Generation
            Enable Minimal Rebuild를 No로 변경

 
반응형