zlgopen / awtk

AWTK = Toolkit AnyWhere(a cross-platform embedded GUI)
GNU Lesser General Public License v2.1
3.11k stars 768 forks source link

更新代码后windows上编译报错 STBTT_DEF #171

Closed oskycar closed 5 years ago

oskycar commented 5 years ago

看error好像是跟STBTT_DEF定义相关的。 ` nanovg.c d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(466) : error C2054: 在“inl ine”之后应输入“(” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(470) : error C2085: “stbtt _BakeFontBitmap”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(480) : error C2085: “stbtt _aligned_quad”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(482) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(482) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(485) : error C2143: 语法错 误 : 缺少“)”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(485) : error C2081: “stbtt _aligned_quad”: 形参表中的名称非法 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(485) : error C2085: “stbtt _GetBakedQuad”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(485) : error C2143: 语法错 误 : 缺少“;”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(486) : error C2059: 语法错 误:“)” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(519) : error C2054: 在“inl ine”之后应输入“(” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(519) : error C2085: “stbtt _PackBegin”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(530) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(530) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(530) : error C2085: “stbtt _PackEnd”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(535) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(535) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(536) : error C2085: “stbtt _PackFontRange”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(558) : error C2085: “stbtt _pack_range”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(560) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(560) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(560) : error C2143: 语法错 误 : 缺少“)”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(560) : error C2081: “stbtt _pack_range”: 形参表中的名称非法 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(560) : error C2085: “stbtt _PackFontRanges”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(560) : error C2143: 语法错 误 : 缺少“;”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(560) : error C2059: 语法错 误:“)” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(566) : error C2054: 在“inl ine”之后应输入“(” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(566) : error C2085: “stbtt _PackSetOversampling”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(582) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(582) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(585) : error C2143: 语法错 误 : 缺少“)”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(585) : error C2081: “stbtt _aligned_quad”: 形参表中的名称非法 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(585) : error C2085: “stbtt _GetPackedQuad”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(585) : error C2143: 语法错 误 : 缺少“;”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(586) : error C2059: 语法错 误:“)” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(588) : error C2054: 在“inl ine”之后应输入“(” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(588) : error C2143: 语法错 误 : 缺少“)”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(588) : error C2081: “stbtt _pack_range”: 形参表中的名称非法 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(588) : error C2085: “stbtt _PackFontRangesGatherRects”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(588) : error C2143: 语法错 误 : 缺少“;”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(588) : error C2059: 语法错 误:“)” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(589) : error C2054: 在“inl ine”之后应输入“(” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(589) : error C2085: “stbtt _PackFontRangesPackRects”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(590) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(590) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(590) : error C2143: 语法错 误 : 缺少“)”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(590) : error C2081: “stbtt _pack_range”: 形参表中的名称非法 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(590) : error C2085: “stbtt _PackFontRangesRenderIntoRects”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(590) : error C2143: 语法错 误 : 缺少“;”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(590) : error C2059: 语法错 误:“)” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(621) : error C2054: 在“inl ine”之后应输入“(” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(621) : error C2085: “stbtt _GetFontOffsetForIndex”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(643) : error C2082: 形参“s tbtt_fontinfo”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(645) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(645) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(645) : error C2085: “stbtt _InitFont”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(657) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(657) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(657) : error C2085: “stbtt _FindGlyphIndex”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(669) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(669) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(669) : error C2085: “stbtt _ScaleForPixelHeight”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(677) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(677) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(677) : error C2085: “stbtt _ScaleForMappingEmToPixels”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(682) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(682) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(682) : error C2085: “stbtt _GetFontVMetrics”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(690) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(690) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(690) : error C2085: “stbtt _GetFontBoundingBox”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(693) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(693) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(693) : error C2085: “stbtt _GetCodepointHMetrics”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(698) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(698) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(698) : error C2085: “stbtt _GetCodepointKernAdvance”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(701) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(701) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(701) : error C2085: “stbtt _GetCodepointBox”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(704) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(704) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(704) : error C2085: “stbtt _GetGlyphHMetrics”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(705) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(705) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(705) : error C2085: “stbtt _GetGlyphKernAdvance”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(706) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(706) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(706) : error C2085: “stbtt _GetGlyphBox”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(718) : error C2057: 应输入 常量表达式 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(731) : error C2085: “stbtt _vertex”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(734) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(734) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(734) : error C2085: “stbtt _IsGlyphEmpty”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(737) : error C2082: 形参“i nline”的重定义 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(737) : error C2143: 语法错 误 : 缺少“;”(在“类型”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(737) : error C2143: 语法错 误 : 缺少“)”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(737) : error C2081: “stbtt _vertex”: 形参表中的名称非法 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(737) : error C2085: “stbtt _GetCodepointShape”: 不在形参表中 d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(737) : error C2143: 语法错 误 : 缺少“;”(在“”的前面) d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(737) : error C2059: 语法错 误:“)” d:\work\projects\awtk\3rd\nanovg\base\stb_truetype.h(737) : fatal error C1003: 错误计数超过 100;正在停止编译 scons: *** [3rd\nanovg\base\nanovg.obj] Error 2 scons: building terminated because of errors.

D:\work\Projects\awtk>

`

oskycar commented 5 years ago

visual studio 2013 版本 编译器版本 18.00.21005.1 是不是visualstudio太老了,需要升级

xianjimli commented 5 years ago

我用的vs2017没问题。

xianjimli commented 5 years ago

2013 好像不支持inline关键字。

xianjimli commented 5 years ago

我在linux/macos/windows vs2017/armcc都测试过,这些编译器都支持inline关键字,要不你升级一下吧

oskycar commented 5 years ago

我在linux/macos/windows vs2017/armcc都测试过,这些编译器都支持inline关键字,要不你升级一下吧

我安装了下visualstudio2019 的确可以了。麻烦了。