Skip to content

Instantly share code, notes, and snippets.

@acgetchell
Created October 28, 2014 03:20
Show Gist options
  • Select an option

  • Save acgetchell/6a31617bfd6839203553 to your computer and use it in GitHub Desktop.

Select an option

Save acgetchell/6a31617bfd6839203553 to your computer and use it in GitHub Desktop.
Using CGAL::Caresian_d<CGAL::Lazy_exact_nt<CGAL::Gmpq> >
PointTest.cpp:
#include "gmock/gmock.h"
#include "Point.h"
using namespace ::testing;
TEST(Point, CreateAPoint) {
}
Point.h:
#ifndef CDT_POINT_H
#define CDT_POINT_H
#include <CGAL/Lazy_exact_nt.h>
#include <CGAL/Gmpq.h>
#include <CGAL/Kernel_d/Point_d.h>
#include <CGAL/Cartesian.h>
typedef CGAL::Lazy_exact_nt<CGAL::Gmpq> > NT;
typedef CGAL::Cartesian<NT> Kernel;
CGAL::Point_d<Kernel> Point_d;
class Point : public Point_d
{
public:
Point() : Point_d()
{
}
};
#endif // CDT_POINT_H
Results:
┌─[adam][Hapkido][±][master ✗][~/CDT-plusplus]
└─▪ ./build.sh
-- The C compiler identification is AppleClang 6.0.0.6000054
-- The CXX compiler identification is AppleClang 6.0.0.6000054
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Build type: Release
-- USING CXXFLAGS = ' -O3 -DNDEBUG'
-- USING EXEFLAGS = ' -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib '
-- Targetting Unix Makefiles
-- Using /usr/bin/c++ compiler.
-- DARWIN_VERSION=14
-- Mac Leopard detected
-- Requested component: Core
-- Requested component: MPFR
-- Requested component: GMP
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/adam/CDT-plusplus/build
Scanning dependencies of target cdt
[ 14%] Building CXX object CMakeFiles/cdt.dir/src/cdt.cpp.o
Linking CXX executable cdt
[ 14%] Built target cdt
Scanning dependencies of target unittests
[ 28%] Building CXX object CMakeFiles/unittests.dir/unittests/main.cpp.o
[ 42%] Building CXX object CMakeFiles/unittests.dir/unittests/PointTest.cpp.o
In file included from /Users/adam/CDT-plusplus/unittests/PointTest.cpp:2:
/Users/adam/CDT-plusplus/src/Point.h:9:41: error: expected unqualified-id
typedef CGAL::Lazy_exact_nt<CGAL::Gmpq> > NT;
^
/Users/adam/CDT-plusplus/src/Point.h:10:25: error: use of undeclared identifier
'NT'
typedef CGAL::Cartesian<NT> Kernel;
^
In file included from /Users/adam/CDT-plusplus/unittests/PointTest.cpp:2:
In file included from /Users/adam/CDT-plusplus/src/Point.h:6:
/usr/local/Cellar/cgal/4.4/include/CGAL/Kernel_d/Point_d.h:42:24: error: type
'int' cannot be used prior to '::' because it has no members
class Point_d : public pR::Point_d_base
^
/Users/adam/CDT-plusplus/src/Point.h:11:23: note: in instantiation of template
class 'CGAL::Point_d<int>' requested here
CGAL::Point_d<Kernel> Point_d;
^
In file included from /Users/adam/CDT-plusplus/unittests/PointTest.cpp:2:
In file included from /Users/adam/CDT-plusplus/src/Point.h:6:
/usr/local/Cellar/cgal/4.4/include/CGAL/Kernel_d/Point_d.h:44:20: error: type
'int' cannot be used prior to '::' because it has no members
typedef typename pR::Point_d_base Base;
^
/usr/local/Cellar/cgal/4.4/include/CGAL/Kernel_d/Point_d.h:48:20: error: type
'R' (aka 'int') cannot be used prior to '::' because it has no members
typedef typename R::RT RT;
^
/usr/local/Cellar/cgal/4.4/include/CGAL/Kernel_d/Point_d.h:49:20: error: type
'R' (aka 'int') cannot be used prior to '::' because it has no members
typedef typename R::FT FT;
^
/usr/local/Cellar/cgal/4.4/include/CGAL/Kernel_d/Point_d.h:50:20: error: type
'R' (aka 'int') cannot be used prior to '::' because it has no members
typedef typename R::LA LA;
^
In file included from /Users/adam/CDT-plusplus/unittests/PointTest.cpp:2:
/Users/adam/CDT-plusplus/src/Point.h:13:22: error: unknown class name 'Point_d';
did you mean 'Point'?
class Point : public Point_d
^~~~~~~
Point
/Users/adam/CDT-plusplus/src/Point.h:13:7: note: 'Point' declared here
class Point : public Point_d
^
/Users/adam/CDT-plusplus/src/Point.h:13:22: error: base class has incomplete
type
class Point : public Point_d
~~~~~~~^~~~~~~
/Users/adam/CDT-plusplus/src/Point.h:13:7: note: definition of 'Point' is not
complete until the closing '}'
class Point : public Point_d
^
/Users/adam/CDT-plusplus/src/Point.h:16:13: error: member initializer 'Point_d'
does not name a non-static data member or base class
Point() : Point_d()
^~~~~~~~~
10 errors generated.
make[2]: *** [CMakeFiles/unittests.dir/unittests/PointTest.cpp.o] Error 1
make[1]: *** [CMakeFiles/unittests.dir/all] Error 2
make: *** [all] Error 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment