Я использую библиотеку PCL с vs 2010. Я не использую CMake и включаю все dll, библиотеки и папки include.
Я написал простую программу для заполнения облака полушария в экземпляре 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: синтаксическая ошибка: отсутствует ';' перед идентификатором 'traits' c: \ program files (x86) \ pcl 1.6.0 \ include \ pcl-1.6 \ pcl \ impl \ point_types.hpp 1185
Ошибка 3 ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание: C ++ не поддерживает default-int c: \ program files (x86) \ pcl 1.6.0 \ include \ pcl-1.6 \ pcl \ impl \ point_types.hpp 1185
Ошибка 4 ошибка C4430: отсутствует спецификатор типа - предполагается int. Примечание: C ++ не поддерживает default-int c: \ program files (x86) \ pcl 1.6.0 \ include \ pcl-1.6 \ pcl \ impl \ point_types.hpp 1185
Я не понимаю почему, у меня нет ошибок компиляции перед сборкой проекта, и все правильно в point_types.hpp (файл заголовка pcl)
пожалуйста, помогите мне
Заранее спасибо