带有 Qt/boost 项目的 VC xtree 内部标头中的语法错误
Posted
技术标签:
【中文标题】带有 Qt/boost 项目的 VC xtree 内部标头中的语法错误【英文标题】:syntax error in VC xtree internal header with Qt/boost project 【发布时间】:2016-11-29 09:02:45 【问题描述】:我在 Qt 项目中使用 Boost。 我将这些行添加到我的 .pro 文件中。
INCLUDEPATH += C:/local/boost_1_62_0/
LIBS += "-LC:/local/boost_1_62_0/lib64-msvc-12.0/"
我正在链接 boost,因为我使用的是 libICP 库,其中包括 boost/multi_array 和 boost/array。
当我编译时,我得到了很多错误:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xtree:20: error: C2143: syntax error : missing ',' before '<'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xtree:21: error: C2518: keyword 'typename' illegal in base class list; ignored
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xtree:22: error: C2518: keyword 'typename' illegal in base class list; ignored
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xtree:132: error: C2065: '_Iterator_base0' : undeclared identifier
我怀疑 xtree 被 multi_array 或数组的实现所使用,但我真的不知道从这里去哪里。
【问题讨论】:
【参考方案1】:好的,所以我找到了解决方案(从昨天开始我一直在研究这个问题......)
如果其他人有类似的问题,那只是文件 ICP_Registration.h 末尾的不平衡 的情况,其中包括 libICP。
【讨论】:
以上是关于带有 Qt/boost 项目的 VC xtree 内部标头中的语法错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 libclang 解析 windows С++ 项目文件(带有 VC 代码库)
在 Mac 和 Windows 上部署 Qt+Boost 应用程序