2010-12-14 5 views
0

Visual Studio 2008에서 내 응용 프로그램을 Release로 빌드하는 데 약간의 문제가 있습니다. 오류 또는 경고없이 Debug로 잘 빌드됩니다. 응용 프로그램은 주로 작은 MFC와 ATL이 여기 저기에 섞인 Win32입니다. 솔루션의 대부분의 프로젝트는 LIB 및 DLL을 생성합니다.Visual Studio 2008에서 릴리스로 응용 프로그램 빌드 문제 - C++

이 내가 점점 오전 오류 중 하나입니다

치명적인 오류 C1189 : # 오류 :/MD [D] (CRT의 DLL 버전) MFC 공유 DLL 버전이 필요가있는 건물 MFC 응용 프로그램입니다. _AFXDLL를 #define한다 또는 체류/MD [D]

내 응용 프로그램 다중 스레드 DLL, 그래서 /MD 요구를 사용하지 마십시오. 유일한 윈도우에 포함이됩니다

치명적인 오류 C1083 : 'WMIQuery.h': 열 수 없습니다 파일 포함 해당 파일이나 디렉토리를

#include "stdafx.h" 
#include "afx.h" 
#include "WMIQuery.h" 
#include "SerialPort.h" 

다른 오류가 이것이다

이 파일은 Debug에 대한 환경을 찾는 데 아무런 문제가 없기 때문에이 파일은 저에게 의미가 없습니다.

누구든지 해결 방법을 알고 있습니까? 추가 정보가 필요하면 그냥 말하면됩니다. 감사.

+0

릴리스 및 디버그는 서로 다른 환경을 사용하므로 디버그에서 헤더를 찾을 수 있다는 것은 릴리스 모드에서 헤더를 찾는 것과 관련이 없음을 의미합니다. – stonemetal

답변

1

디버그 구성에서 빌드하기 위해 만든 프로젝트 속성 변경 사항이 자동으로 릴리스 구성에도 적용되지 않습니다. 대화 상자의 왼쪽 상단 모서리에있는 "구성"콤보에 유의하십시오. 변경된 속성 값은 굵게 표시됩니다.

변경 사항을 기억하지 못하면 Notepad.exe와 같은 텍스트 편집기에서 .vcproj 파일을 엽니 다. 기본값에서 변경된 설정은 Debug | Win32 구성 섹션에 나열되어 있습니다.

0

환경 변수를 다시 확인하십시오. 디버깅 및 릴리스에 별도의 값을 사용한다고 생각합니다.

1

첫 번째 오류는 프로젝트 설정의 불일치 일 가능성이 큽니다./MD가 필요하므로 '일반'제목 아래에서 프로젝트 구성 등록 정보를 확인하십시오. "Use of MFC"항목이 있어야합니다. "공유 DLL에서 MFC 사용"으로 설정해야합니다.

두 번째 오류는 두 구성 간의 포함 경로가 일치하지 않는 것이 원인 일 수 있습니다.

관련 문제