我决定今天熟悉一下 wxWidgets。我下载了 2.8.9 版(当前版本),并以所有需要的模式编译了库。
我能够开箱即用地构建/运行 wxWidgets 附带的示例。但是,当我使用/Za进行编译(即禁用语言扩展)时,即使是最小的 wxWidgets 示例,我也会遇到 100 多个构建错误。
我找不到有关此问题的任何文档。我可以定义一些东西来将 wxWidget 的内部切换为符合标准(至少就 VC++ 的合规性而言)?
也许我在构建原始库时做错了什么......以前有没有人遇到过这个“问题”?
谢谢!
编辑:我忘了提到我正在使用 VC++ 9。
此外,这里是前几个错误:
------ 构建开始:项目:最小,配置:Unicode Debug Win32 ------
正在编译...
最小的.cpp
c:\wxWidgets-2.8.9\include\wx/dynarray.h(69):错误 C2143:语法错误:在 '*' 之前缺少 ')'
c:\wxWidgets-2.8.9\include\wx/dynarray.h(69):错误 C2143:语法错误:缺少“;” 前 '*'
c:\wxWidgets-2.8.9\include\wx/dynarray.h(69):错误 C2059:语法错误:')'
c:\wxWidgets-2.8.9\include\wx/dynarray.h(69):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
c:\wxWidgets-2.8.9\include\wx/dynarray.h(810):错误 C2146:语法错误:缺少“;” 在标识符“SCMPFUNC”之前
c:\wxWidgets-2.8.9\include\wx/dynarray.h(810):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
c:\wxWidgets-2.8.9\include\wx/dynarray.h(810):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
c:\wxWidgets-2.8.9\include\wx/dynarray.h(811):错误 C2146:语法错误:缺少“;” 在标识符“SCMPFUNC”之前
c:\wxWidgets-2.8.9\include\wx/dynarray.h(811):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
c:\wxWidgets-2.8.9\include\wx/dynarray.h(811):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
编辑:看起来第一个错误是由使用_cdecl的事实引起的。看起来defs.h只检查是否定义了__VISUALC__。看不到学究气...