针对MTK MODIS 出错的几个解决办法(原创)
  Phag4aaQX4ZJ 2023年11月02日 58 0


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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  5b99XfAwWKiH   2023年11月12日   36   0   0 githubC++openrmcfish
Phag4aaQX4ZJ