네이버에서 이동 : http://blog.naver.com/tinywolf/40045363842
오늘의 삽질기... ㅡ_ㅡ;
정말 간단한 일이었다...
그냥 WinCE용 dll을 하나 만드는 걸 하고 있었다....
그런데....!!!
error C2731: 'DllMain' : function cannot be overloaded 두둥!!!
젠장 난 오버로드 안 뽑았다고!!
코드도 열라 간단했다..
더 이상 뭘 어쩌라고...
한 3 시간 삽질을 했다..
테스트 프로젝트도 몇번이나 만들어 봤다...
구글신의 도움도 구해 보았다..
해결 못한 질문으로 3개만 검색되었다..
정녕 이 문제의 해결법은 없는 것인가..
빈 프로젝트로 DLL 만드는 짓따윈 하지 말란 말인가 했다...
그런데 테스트로 생성한 프로젝트와 한줄 한줄 비교하던 도중 다른 점을 발견했다..
HMODULE이 아니고 HANDLE이닷!!!
털썩... OTL..
뭐냐... 왜 WinCE는 DLL의 핸들이 HANDLE이냐....
3시간 헤매고 단 2줄 고쳐서 완성하였다..
젠장...
총기를 탈취해서 빌게이츠를 쏴버리고 싶어졌다..
PS : 테스트하다 발견한 신기한 점
WinCE 프로젝트의 "미리 컴파일된 헤더 사용"에 대해서 인데..
프로젝트 생성할 때 생성된 stdafx.cpp가 있으면 미리 컴파일된 헤더가 알아서 만들어지고 사용된다.
그런데 내가 만들어서 넣은 stdafx.cpp는 미리 컴파일된 헤더가 안 만들어진다. (별 내용도 없음에도 불구하고!)
"그래서 컴파일 못하겠다"는 메세지만 열라 뱉는다.
더 수상한 건 프로젝트 생성 때 만들어진 stdafx.cpp를 프로젝트에서 뺐다가 하나도 안 고치고 다시 추가해도
미리 컴파일된 헤더 못 만들겠다고 배를 짼다..
그래서.. "미리 컴파일된 헤더 사용 안 함"을 했다.. ㅡ_ㅡ
M$는.. 컴파일러도 무슨 짓을 하는 건지 알 수 없는 수상한 녀석을 넣어주다니..
오늘의 삽질기... ㅡ_ㅡ;
정말 간단한 일이었다...
그냥 WinCE용 dll을 하나 만드는 걸 하고 있었다....
그런데....!!!
error C2731: 'DllMain' : function cannot be overloaded 두둥!!!
젠장 난 오버로드 안 뽑았다고!!
코드도 열라 간단했다..
#include "stdafx.h"
HMODULE g_hDLL = NULL;
BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
g_hDLL = hModule;
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
g_hDLL = NULL;
break;
}
return TRUE;
}더 이상 뭘 어쩌라고...
한 3 시간 삽질을 했다..
테스트 프로젝트도 몇번이나 만들어 봤다...
구글신의 도움도 구해 보았다..
해결 못한 질문으로 3개만 검색되었다..
정녕 이 문제의 해결법은 없는 것인가..
빈 프로젝트로 DLL 만드는 짓따윈 하지 말란 말인가 했다...
그런데 테스트로 생성한 프로젝트와 한줄 한줄 비교하던 도중 다른 점을 발견했다..
HMODULE이 아니고 HANDLE이닷!!!
털썩... OTL..
뭐냐... 왜 WinCE는 DLL의 핸들이 HANDLE이냐....
3시간 헤매고 단 2줄 고쳐서 완성하였다..
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
g_hDLL = (HMODULE)hModule;젠장...
총기를 탈취해서 빌게이츠를 쏴버리고 싶어졌다..
PS : 테스트하다 발견한 신기한 점
WinCE 프로젝트의 "미리 컴파일된 헤더 사용"에 대해서 인데..
프로젝트 생성할 때 생성된 stdafx.cpp가 있으면 미리 컴파일된 헤더가 알아서 만들어지고 사용된다.
그런데 내가 만들어서 넣은 stdafx.cpp는 미리 컴파일된 헤더가 안 만들어진다. (별 내용도 없음에도 불구하고!)
"그래서 컴파일 못하겠다"는 메세지만 열라 뱉는다.
더 수상한 건 프로젝트 생성 때 만들어진 stdafx.cpp를 프로젝트에서 뺐다가 하나도 안 고치고 다시 추가해도
미리 컴파일된 헤더 못 만들겠다고 배를 짼다..
그래서.. "미리 컴파일된 헤더 사용 안 함"을 했다.. ㅡ_ㅡ
M$는.. 컴파일러도 무슨 짓을 하는 건지 알 수 없는 수상한 녀석을 넣어주다니..
'스킬북 > 개발 정보' 카테고리의 다른 글
| Doxygen을 사용한 코드 문서 쉽게 생성하기 (2) | 2008/01/07 |
|---|---|
| WinCE의 DllMain 선언.. (0) | 2007/12/14 |
| WinCE용 프로젝트 만들기.. (0) | 2007/09/06 |
| 코딩용 글꼴.. (2) | 2007/08/22 |


|꼬마늑대|


댓글을 달아 주세요