目次
なにもの?WDK,Windows Driver Kitはドライバ開発のための環境として無償提供されている。 同梱されてる.libには advapi32やら user32もあるので、普通の Win32 Appをビルドすることも可能。 更に1セットでx-compile環境にもなってるのがイイ。2k8x64で使ったものを2k3IPFでも欲しくなったりするので、Visual Stuido(=VC++ or VC#)とWDKを場合に応じて使いわけてます。
inc めも
link.exeめも
てんぷれ今はこうなってます。随時更新。MakefileWDKINC=/I $(BASEDIR)\inc\api /I $(BASEDIR)\inc\crt /I $(BASEDIR)\inc\api\crt\stl60 MSSDKINC=/I "C:\Program Files\Microsoft SDKs\Windows\v5.0\Include" INCLUDE=$(WDKINC) $(MSSDKINC) LIBS=user32.lib advapi32.lib psapi.lib #LIB=/LIBPATH:$(BASEDIR)\lib\wlh\ia64 /LIBPATH:$(BASEDIR)\lib\Crt\ia64 $(LIBS) LIB=/LIBPATH:$(BASEDIR)\lib\wnet\i386 /LIBPATH:$(BASEDIR)\lib\Crt\i386 $(LIBS) #LIB=/LIBPATH:$(BASEDIR)\lib\wnet\amd64 /LIBPATH:$(BASEDIR)\lib\Crt\amd64 $(LIBS) CPPFLAGS=/nologo /W4 /D_WIN32_WINNT=0x600 /Zi /c LINKFLAGS=/nologo /DEBUG NAME=skel SRC=$(NAME).cpp OBJ=$(NAME).obj EXE=$(NAME).exe all: $(SRC) cl $(CPPFLAGS) /EHsc $(INCLUDE) $(SRC) link $(LINKFLAGS) /out:$(EXE) $(OBJ) $(LIB) clean: del /f $(EXE) $(OBJ) *.pdb *.ilk skel100行以内で済むから1ファイルで終る場合の、かなりいい加減なテストコード用skelton#include <Windows.h> #include <tchar.h> #define dEBUG(x) x void MitoGetLastError(DWORD errId, std::string who) { LPVOID lpMsgBuf; DWORD n = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_MAX_WIDTH_MASK | FORMAT_MESSAGE_FROM_SYSTEM, NULL, errId, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), //MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), (LPTSTR)&lpMsgBuf, 0, NULL); if ( n > 0 ) { printf("%s() failed : %s(%u)", who.c_str(), lpMsgBuf, errId); } else printf("FormatMessage() : %u\n", GetLastError()); } int _tmain(int argc, _TCHAR* argv[]) { return 0; }
参考文献
|