mmidsm.c C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/windef.h(142) : error C2371: 'BOOL' : redefinition; different basic types ../../plutommi/mmi/Inc/MMIDataType.h(435) : see declaration of 'BOOL' C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/windef.h(159) : warning C4091: 'typedef ' : ignored on left of 'const int ' when no variable is declared C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/winnt.h(152) : warning C4091: 'typedef ' : ignored on left of 'const int ' when no variable is declared C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/winnt.h(156) : warning C4091: 'typedef ' : ignored on left of 'const int ' when no variable is declared C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/winnt.h(164) : warning C4091: 'typedef ' : ignored on left of 'const int ' when no variable is declared C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/winnt.h(167) : warning C4091: 'typedef ' : ignored on left of 'const int ' when no variable is declared C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/winnt.h(196) : error C2061: syntax error : identifier 'LPCTSTR' ---------------------------------------------------------------------
你找找包含windows.h的地方,加上宏_WINDOWS_
#if !defined(__MTK_TARGET__) #include <windows.h> #define _WINDOWS_ #endif ----------------------------------------------------------------------
1.在 MMIDataType.h (plutommi/mmi/inc)中
... #if !defined(WIN32) !defined(_WINDOWS_) typedef unsigned char BOOL; #ifndef CONST #define CONST const; #endif #endif ....
2.与C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/windef.h中定义的BOOL冲突
3.在tool/mingw/include/windef.h也定义BOOL,而windef.h包含于tool/mingw/include/windows.h,故
#include <windows.h> 或者#include “windows.h”也就定义了BOOL
4.#if !defined(__MTK_TARGET__) 或者#ifndef __MTK_TARGET__ 是针对new时BOOL不起作用,而针对modis起作用
5.使用了
#if !defined(__MTK_TARGET__) #include <windows.h> #define _WINDOWS_ #endif
A:用了#include <windows.h>就不会用C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/windef.h中定义的BOOL了,会用windows.h中包含的windef.h定义的BOOL
B:定义了#define _WINDOWS_就不会使用plutommi/mmi/inc/MMIDataType.h中定义的BOOL了
C:if !defined(__MTK_TARGET__)或者#ifndef __MTK_TARGET__是针对new时BOOL不起作用,而针对modis起作用
对于modis编译出现找不到.h文件的现象,我们需要找MoDIS_VC9对应模块下面的ini文件,把需要的目录加入进去
如:/I "..\..\hal\system\counter\inc"
对于6260M平台在modisconfig.mak里必须要修改一下的vc相关目录,其它平台修改另外的mak文件。
# ************************************************************************* # Folder Structure Config # ************************************************************************* VSCommonDir := D:\Program Files\Microsoft Visual Studio 9.0\Common7 MSVCDir := D:\Program Files\Microsoft Visual Studio 9.0\VC VcOsDir := WINNT FrameworkDir := D:\WINDOWS\Microsoft.NET\Framework WindowsSDKDir := D:\Program Files\\Microsoft SDKs\Windows\v6.0A MODIS_SUFFIX := MODIS_UESIM := MoDIS MODISDIR := MoDIS_VC9