2016-02-13 7 views
0

Я начинаю использовать библиотеку CGAL, я работаю над создателем qt в ОС Fedora, Я создал и настроил пакет CGAL, а затем создал консольное приложение и попробовал этот пример (который установил с пакетом CGAL):запустить пример cgal с использованием ошибки qt creator

// Author(s) : Camille Wormser, Pierre Alliez 

#include <iostream> 
#include <list> 

#include <CGAL/Simple_cartesian.h> 
#include <CGAL/AABB_tree.h> 
#include <CGAL/AABB_traits.h> 
#include <CGAL/AABB_triangle_primitive.h> 

typedef CGAL::Simple_cartesian<double> K; 

typedef K::FT FT; 
typedef K::Ray_3 Ray; 
typedef K::Line_3 Line; 
typedef K::Point_3 Point; 
typedef K::Triangle_3 Triangle; 

typedef std::list<Triangle>::iterator Iterator; 
typedef CGAL::AABB_triangle_primitive<K, Iterator> Primitive; 
typedef CGAL::AABB_traits<K, Primitive> AABB_triangle_traits; 
typedef CGAL::AABB_tree<AABB_triangle_traits> Tree; 

int main() 
{ 
Point a(1.0, 0.0, 0.0); 
Point b(0.0, 1.0, 0.0); 
Point c(0.0, 0.0, 1.0); 
Point d(0.0, 0.0, 0.0); 

std::list<Triangle> triangles; 
triangles.push_back(Triangle(a,b,c)); 
triangles.push_back(Triangle(a,b,d)); 
triangles.push_back(Triangle(a,d,c)); 

// constructs AABB tree 
Tree tree(triangles.begin(),triangles.end()); 

// counts #intersections 
Ray ray_query(a,b); 
std::cout << tree.number_of_intersected_primitives(ray_query) 
    << " intersections(s) with ray query" << std::endl; 

// compute closest point and squared distance 
Point point_query(2.0, 2.0, 2.0); 
Point closest_point = tree.closest_point(point_query); 
std::cerr << "closest point is: " << closest_point << std::endl; 
FT sqd = tree.squared_distance(point_query); 
std::cout << "squared distance: " << sqd << std::endl; 

return EXIT_SUCCESS; 
} 

, а затем я добавил файлы заголовков для проекта: "Simple_cartesian.h" - "AABB_tree.h" - "AABB_traits.h" - "AABB_triangle_primitive.h"

, но при запуске проекта я столкнулся с этими : сферические зеркала : -1: ошибка: main.o: не определена ссылка на символ '' _ZN5boost6system15system_categoryEv

: -1: ошибка: примечание: '_ZN5boost6system15system_categoryEv' определен в DSO /lib64/libboost_system.so.1.54.0 поэтому попробуйте добавить его в командной строке компоновщика

/lib64/libboost_system.so.1.54.0:-1: ошибка: не может читать символы: Недопустимая операция

: -1: ошибка: collect2: ошибка: ld вернулся 1 статус выхода

любой он lp пожалуйста?

ответ

1

Попробуйте добавить эту строку в файл .pro:

LIBS += -lboost_system 

Конечно, при условии, что вы загрузили и установили boost.system библиотеку.

+0

спасибо большое, , что решает мою проблему –