Programming

BCG 라이브러리 스태틱 컴파일 on VS2008 SP1

콜러스 XXII 2008. 10. 31. 17:12


회사에서 주로 작업하는 MFC UI라이브러리가 있다. BCG 라이브러리인데

오늘 그냥 Compile을 할 일이 있어서 간단히 프로젝트를 만들어서

Static으로 Compile하였다. (얼마전에 VS를 SP1으로 패치한 상태였다.)

그런데 링크에서 wincore.dll(?)의 API 중복에러가 쫠 뜨는 것이 었다.

이전에 한거랑 Compile Option을 비교해보니 새로만든 프로젝 화일의

Linker -> Advanced -> Data Execution Prevention (DEP) 옵션이

"Image is compatible woth DEP"

로 되어 있었다. 아마 VISTA 관련 옵션인거 같은데... 예전엔 "Default"

였다. 아마 SP1으로 되면서 Project 위자드가 뻘짓을 하나 보다.

일단 옵션을 "Default"로 두고 Compile은 무사히 했고 실행도 잘 되었다.

그런데 나중에 다시 Compile Option을 "Image is compatible woth DEP"로

하니 Compile이 잘되는 것이 아닌가. (@.@) 뭐하잔건지..

쩝 암튼 기록은 남겨 둬야 하기에...


======================================================================


참고로 간혹 MFC에서 TRACE() 쓰면


_CrtDbgReport: String too long or IO Error


이런 에러가 나올때가 있는데 이럴때는 프로그램 초기에


_tsetlocale(LC_ALL, _T(""));   


혹은


_tsetlocale(LC_ALL, _T("Korean"));


을 넣어보도록 한다.


#include <locale.h>


에 있다.