Wenn mein Programm mit dieser CGAL umfassen beispielsweise ausgeführt wird:CGAL Fehler: Eigen3 erforderlich ist -> Eigen scheint in Ordnung zu sein, obwohl
#include <CGAL/Epick_d.h>
ich zwei Fehlermeldungen, die lesen:
C1189 #error: Eigen3 is required
und
#error directive: Requires Eigen
Sie verweisen auf cartesian_la_base.h und constructors.h jeweils. Es finde ich das folgende Stück Code:
#ifndef CGAL_EIGEN3_ENABLED
#error Requires Eigen
#endif
So scheint es mir, dass die CGAL_EIGEN3_ENABLED Flag nicht gesetzt ist. Ich kann jedoch weder mit CGAL noch mit Eigen ein Problem finden, daher bin ich etwas verwirrt, warum das so ist. Ich habe eine Umgebungsvariable auf .../Eigen gesetzt und das Verzeichnis unter Eigenschaften -> c/C++ -> Allgemein -> Zusätzliche Include-Verzeichnisse sowie in Linker -> Allgemein eingefügt.
Seltsamerweise scheint es so gut wie niemanden zu geben, der die gleiche Fehlermeldung erhält, nach meinem Erfolg mit dem Googeln der Sache.
Ich benutze Visual Studio 2015
Hoffentlich genug Informationen. Prost
Haben Sie eine Kopie von Eigen auf Ihrem Computer? Im Lösungsverzeichnis? Irgendwo anders? Wenn ja, wo (vollständig redigierter Pfad)? Welche relevanten zusätzlichen Include-Verzeichnisse haben Sie festgelegt? –
Haben Sie oder cmake 'CGAL_EIGEN3_ENABLED' nicht definiert? Hat Ihre cmake-Datei folgende Zeilen: 'find_package (Eigen3 3.1.0) if (EIGEN3_FOUND) include ($ {EIGEN3_USE_FILE}) endif()' (Entschuldigung für das Fehlen von Zeilenumbrüchen in Kommentaren)? –
Definieren Sie einfach 'CGAL_EIGEN3_ENABLED' und Sie sollten dann in Ordnung sein. Dieses Flag soll gesetzt werden, wenn die Verwendungsdatei von Eigen in cmake eingeschlossen wird. – sloriot