我在 vs 2010 中使用 PCL 库。我不使用 CMake,我包含所有 dll、libs 和包含文件夹。
我编写了简单的程序来填充 PointCloud 实例中的半球点云。这是我的超级简单代码:
#include <iostream>
#include <pcl\point_cloud.h>
#include <pcl\impl\point_types.hpp>
#include <cmath>
using namespace pcl;
void AddPointsToCloud(PointCloud<PointXYZRGB>& cloud);
int main ()
{
PointCloud<PointXYZRGB> cloud;
AddPointsToCloud(cloud);
return 0;
}
void AddPointsToCloud(PointCloud<PointXYZRGB>& cloud)
{
double R =2;
int nTheta = 20; //number of grid points
double dTheata = 0.5*M_PI / (nTheta - 1);
int nPhi = 20;
double dPhi = 2 * M_PI / (nPhi - 1);
for (int i = 0 ; i < nTheta ; i++ )
{
for (int j = 0 ; j < nPhi ; j++)
{
double x = R * sin(i*dTheata) * cos(j* dPhi );
double y = R * sin(i*dTheata) * sin(j* dPhi );
double z = R * cos(i*dTheata);
PointXYZRGB p;
p.x = x;
p.y = y;
p.z = z;
p.r = static_cast<uint8_t>(255 * x / R);
p.g = static_cast<uint8_t>(255 * y / R);
p.b = static_cast<uint8_t>(255 * z / R);
cloud.push_back(p);
}
}
}
现在,当我在 Visual Studio 2010 中构建时,出现以下错误:
错误 2 错误 C2146:语法错误:缺少 ';' 在标识符“特征”之前 c:\program files (x86)\pcl 1.6.0\include\pcl-1.6\pcl\impl\point_types.hpp 1185
错误 3 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 c:\program files (x86)\pcl 1.6.0\include\pcl-1.6\pcl\impl\point_types.hpp 1185
错误 4 错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 c:\program files (x86)\pcl 1.6.0\include\pcl-1.6\pcl\impl\point_types.hpp 1185
我不明白为什么,在构建项目之前我没有任何编译错误,并且
point_types.hpp (pcl头文件)中的一切都是正确的
请帮我
提前谢谢你