2009-10-14 5 views
0

전 처리기 정의를 추가하여 특정 프로젝트가 빌드되는 동안 값만 정의되도록하려는 경우 정의되지 않습니다. 내 프로젝트 속성 -> 전처리 기 -> 전 처리기 정의로 갔다. 여기에서는 #define PROJECTNAME_EXPORT을 입력하여 해당 프로젝트 전체에서 을 호출하여 빌드 타임에 값 (dllexport와 dllimport 사이)을 바꿀 수 있기를 바랍니다.전 처리기 정의가 엉망입니다. int는 재정의를 정의합니까?

그러나 내가 괜찮을 때 Visual Studio에서 내 정의 앞에 큰 따옴표를 추가하는 것처럼 보입니다. 빌드를 시도 할 때, 나는 주로 "불법 탈출 시퀀스"라고 말하는 100 가지 이상의 오류가 발생합니다. 메모의 다른 부분은 "int define : redefinition", "int MYPROJECT_EXPORT redefinition"등입니다. 제가 잘못 했나요?

답변

4

"#define"을 정의에 포함하지 마십시오. 그냥 심볼의 이름 및 선택적 값과 같이 :

PROJECTNAME_EXPORT=coolness 

여기에 입력 정의의 생각하는 방법, IDE에, 그들은 /D option를 사용하여 컴파일러에 전달 될 것입니다 그래서 문법은 가깝습니다. 이 정의는 C 소스가 아닌 다른 메커니즘을 통해 컴파일러/프리 프로세서에 전달되므로 #define 구문을 포함 할 필요가 없습니다.

+0

전적으로 내 머리 위로갔습니다. Mucho 감사합니다. –