반응형

API를 이용해 어플을 만들면서 프로그램 실행중 로그를 출력하고 싶은 경우가 많다.

물론 디버깅을 활용하면 되지만 간단한 값의 출력이나 printf가 편한 경우고 있다.

API 함수를 이용해서 AllocConsole(); 로 생성하고 FreeConsole(); 로 해제해도 되지만

더 간단한 방법이 있어 소개한다.

프로그램이 맨 처음 시작되는 부분에 다음 코드를 추가해 보자
(예를 들면 stdafx.h 혹은 stdafx.cpp등에 입력해도 좋다.)
반응형


VIsual Studio 2008로 Console 프로그램을 만들어 봤다.

주로 JAVA 프로그래밍을 하다가 C계열을 하다보니 툴도 손에 익지 않고 영 감이 부족하다.

MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

나를 반기는 error 메시지 이거 뭐지.. 끙끙대며.. 캐삽질 中..中..中..中.....

해결방법은 프로젝트 속성에 설정만 해주면 된다.

(프로젝트 선택하고 오른쪽 클릭 properties 클릭!)

Configuration Properties -> Linker -> System -> SubSystem 에서 

Console (/SUBSYSTEM:CONSOLE) 으로 설정을 바꿔주자.. 띠리리

1>XXXXXXX - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========

에러 처리 완료!! 이런 캐삽질 ㅎㅎ;

반응형
error C2664: 'XXXXXXXXW' : cannot convert parameter 1 from 'const char [13]' to 'LPCWSTR'

error C2664: 'XXXXXXXXW' : cannot convert parameter 2 from 'const char [13]' to 'LPCWSTR'

이것도 뭐 글을 길게 쓰고 싶지 않은 에러상황이다. 유니코드 관련 error 인데..

다른방법도 여러개 찾았지만 가장 적합한 방법은 Project properties를 설정하는 것!!

간단하게 방법만 남기고 넘어가자.. 피곤하다 캐삽질 짜잉나!!!!

프로젝트 선택하고 오른쪽 클릭 properties 클릭!)



스샷으로 대충 때우려 했지만 스샷으로 어디지 헷갈릴수도 있으니

Configuration Properties -> Generall -> Project Defaults -> Character Set   에 보면

Use Unicode Character Set  또는 Use Multi-Byte Character Set 라면 과감히 Not Set 선택하자!!

error Clear!!!  아 글 쓰는것도 힘들구나.. 좀더 신중히 글을 작성해야하지만 핵심만 간단히^^;

+ Recent posts