DllTester.cpp
上传用户:lijia5631
上传日期:2008-11-10
资源大小:1214k
文件大小:3k
源码类别:

视频捕捉/采集

开发平台:

MultiPlatform

  1. /**
  2.   * HandVu - a library for computer vision-based hand gesture
  3.   * recognition.
  4.   * Copyright (C) 2004 Mathias Kolsch, matz@cs.ucsb.edu
  5.   *
  6.   * This program is free software; you can redistribute it and/or
  7.   * modify it under the terms of the GNU General Public License
  8.   * as published by the Free Software Foundation; either version 2
  9.   * of the License, or (at your option) any later version.
  10.   *
  11.   * This program is distributed in the hope that it will be useful,
  12.   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.   * GNU General Public License for more details.
  15.   *
  16.   * You should have received a copy of the GNU General Public License
  17.   * along with this program; if not, write to the Free Software
  18.   * Foundation, Inc., 59 Temple Place - Suite 330, 
  19.   * Boston, MA  02111-1307, USA.
  20.   *
  21.   * $Id: DllTester.cpp,v 1.4 2005/03/31 02:09:43 matz Exp $
  22. **/
  23. #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
  24. #include <stdio.h>
  25. #include <tchar.h>
  26. #include <windows.h>
  27. #include <stdlib.h>
  28. #define CV_DLL       "cv096.dll"
  29. #define CV_CXCORE    "cxcore096.dll"
  30. #define CV_AUX       "cvaux096.dll"
  31. #define CV_HIGHGUI   "highgui096.dll"
  32. #define MAGICK       "CORE_RL_Magick++_.dll"
  33. #define FDL          "FrameDataLib.dll"
  34. // windows libraries
  35. #define WINMM_DLL    "winmm.dll"
  36. #define MFC_DLL      "mfc70.dll"
  37. #define MSVCR_DLL    "msvcr70.dll"
  38. #define KERNEL32_DLL "kernel32.dll"
  39. #define USER32_DLL   "user32.dll"
  40. #define ADVAPI32_DLL "advapi32.dll"
  41. #define OLE32_DLL    "ole32.dll"
  42. #define OLEAUT32_DLL "oleaut32.dll"
  43. #define MSVCP_DLL    "msvcp70.dll"
  44. BOOL test(LPCTSTR lpLibFileName, BOOL silent);
  45. int _tmain(int argc, _TCHAR* argv[])
  46. {
  47.   BOOL silent = FALSE;
  48.   if (argc>1 && strcmp(argv[1], "/s")==0) {
  49.     silent = TRUE;
  50.   }
  51.   if (!silent) printf("Checking for libraries:n");
  52.   
  53.   BOOL all_found = TRUE;
  54.   if (!test(CV_DLL, silent)) all_found = FALSE;
  55.   if (!test(CV_CXCORE, silent)) all_found = FALSE;
  56.   if (!test(CV_AUX, silent)) all_found = FALSE;
  57.   if (!test(CV_HIGHGUI, silent)) all_found = FALSE;
  58. //  if (!test(FDL, silent)) all_found = FALSE;
  59.   if (!test(WINMM_DLL, silent)) all_found = FALSE;
  60.   if (!test(MFC_DLL, silent)) all_found = FALSE;
  61.   if (!test(MSVCR_DLL, silent)) all_found = FALSE;
  62.   if (!test(KERNEL32_DLL, silent)) all_found = FALSE;
  63.   if (!test(USER32_DLL, silent)) all_found = FALSE;
  64.   if (!test(ADVAPI32_DLL, silent)) all_found = FALSE;
  65.   if (!test(OLE32_DLL, silent)) all_found = FALSE;
  66.   if (!test(OLEAUT32_DLL, silent)) all_found = FALSE;
  67.   if (!test(MSVCP_DLL, silent)) all_found = FALSE;
  68.   if (all_found) {
  69.     if (!silent) printf("All libraries found.n");
  70.    return 0;
  71.   } else {
  72.     const char *path = getenv("PATH");
  73.     if (!silent) printf("At least one library was not found. Make sure the missing filen"
  74.       "is in your system's search path:n"
  75.       "$(PATH) = %sn", path);
  76.     return -1;
  77.   }
  78. }
  79. BOOL test(LPCTSTR lpLibFileName, BOOL silent)
  80. {
  81.   HMODULE hModule;
  82.   BOOL unloaded;
  83.   if (!silent) printf("%s ... ", lpLibFileName);
  84.   hModule = LoadLibrary(lpLibFileName);
  85.   if (hModule==NULL) {
  86.     if (!silent) printf("FAILEDn");
  87.     return FALSE;
  88.   } else {
  89.     if (!silent) printf("foundn");
  90.   }
  91.   unloaded = FreeLibrary(hModule);
  92.   if (!unloaded) {
  93.     if (!silent) printf("could not unload libraryn");
  94.     return FALSE;
  95.   }
  96.   return TRUE;
  97. }