이전 질문을 기반으로 빌드 구성을 만드는 중입니다. Build Configurations가 생성되었고, custom.h
이라는 파일에 다른 빌드에 대한 조건부 선언이 있습니다. 그것은 현재 다음과 같습니다 .h 파일의 값이 .rc 파일에 정의되어 있지 않습니다.
#if BUILD == 1
#define STRDESCRIPTION "Personal Edition"
#elif BUILD == 2
#define STRDESCRIPTION "Select Edition"
#elif BUILD == 3
#define STRDESCRIPTION "Elite Edition"
#pragma message(STRDESCRIPTION)
#endif
내가 로깅으로
#pragma
명령을 추가 :
#pragma once
#if defined(ELITE_BUILD)
#define BUILD 3 // 1: personal, 2: select, 3: elite
#elif defined(SELECT_BUILD)
#define BUILD 2
#elif defined(PERSONAL_BUILD)
#define BUILD 1
#endif
내 .RC 파일 중 하나에이 (다소 편집 됨)과 같습니다 versionconfig.h
을 위해 포함이 노력. 나는이 프로젝트를 컴파일 할 때
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", STRDESCRIPTION
END
END
END
I 오류 error RC2104 : undefined keyword or key name: STRDESCRIPTION
를 얻을 :이 포함되면, .rc 파일의 관련 부분은 (간결성을 위해 편집 됨 조금, 다시) 다음과 같습니다. 나는 약간의 손실이 있습니다. 값은 존재하며, 설정 한 후에 즉시 로그 할 수 있으며 그에 대한 명령은 #undef
이 아닙니다.
이 - 수정 됨 - 나는 프로젝트가 컴파일 차단하면 자리가 외부 정의에 추가하는 경우
하지만, 값이 표시되지, 그래서 내 문제는 조건 정의에 관련이있는 것으로 나타납니다. 이 시점에서 가장 혼란스러운 점은 조건부 블록 안에 #pragma message
명령을 넣을 수 있고 올바르게 실행되었지만 거기에 정의 된 값이 존재하지 않는다는 것입니다. 누군가를 바라보며 나를 위해 이것에 대해 밝힐 수 있습니다.
일반적으로 나는 오타를 의심합니다. – Joshua
내가 최근에 가능한 파일을 생성했다면. 그러나 파일의 관련 부분은 꽤 오랜 시간 동안 변경되지 않았습니다. 변경된 유일한 파일은'custom.h'이었고 Build Configurations의 Preprocessor 섹션에 정의 된 변수를 확인했습니다. 'versionconfig.h'와'.rc' 파일은 수정되지 않았습니다. –