ROS Kinetic编译旧版本程序出现parse error at boost join
主要特征是Qt+Boost编译出现Parse error at "BOOST_JOIN"
稍微研究过Qt的人都会有这样的感受:Qt编译代码特别慢,因为Qt需要用Moc工具moc你的代码,具体原理自己Google。这里问题的根源也是这个Moc工具造成的,只需将自己的包含头文件(用到Boost库的部分)语句使用:
括起来即可,避免Qt的Moc工具对Boost的代码进行Moc。实际的操作类似:#ifndef Q_MOC_RUN #endif
#ifndef Q_MOC_RUN #include <pcl/visualization/cloud_viewer.h> #include <pcl/io/io.h> #include <pcl/io/pcd_io.h> #endif #include <QWidget>
将Qt外的头文件放在#ifndef...#endif里面即可。