Ich stoße auf ein Problem, wenn ich versuche, ein wenig Code zu erstellen. (Ich bin auf Linux)Problem zwischen Eigen, make und cmake (wahrscheinlich ein Cmake-Fehler)
Um es einfach zu machen:
Hier ist, was ich in meiner Position.h Datei haben (bei der wirklich begining, ich glaube, die nächste nicht notwendig ist, dass zu lösen Ausgabe):
#include <Eigen/Dense>
und hier meine CMakeLists.txt ist:
project(p)
include_directories("./Eigen")
add_executable(
p
Eigen/Dense
Position.h # wich requires Eigen/Dense
Position.cpp
#other files
)
im Projektverzeichnis gibt es zwei Verzeichnisse: bauen und Eigen
Um das Makefile zu erstellen, gehe ich in das Build-Verzeichnis und tippe dann cmake ..
. Ein Makefile erstellt wird, aber wenn ich zu make
versuchen bekam ich den Fehler:
/path/to/Position.h:30:23: fatal error: Eigen/Dense: no such file or directory.
Position.h ist aus einem Code von Github abgeholt (I können Sie den Link geben, wenn gewünscht).
Bitte, können Sie mir eine Richtung geben oder vielleicht zu suchen, wenn Sie sehen, was falsch ist, was mein Fehler
Dank ist!
Vielen Dank! das erste funktioniert einwandfrei =) Ich benutze 'finde_module' nicht weil ich nicht erfolgreich Eigen kompilieren konnte, und da es nicht nötig ist (Eigen kann nur mit Kopfzeilen arbeiten) brauchte ich keine Zeit. Also vielen Dank noch einmal für Ihre Hilfe! – Tristan
Der zweite ist ziemlich nett, weil cmake ein eingebautes Modul hat, das nach Eigen sucht und eine Variable mit dem Include-Verzeichnis setzt. Dies bedeutet, dass Ihr Projekt nicht davon abhängig ist, dass Eigen an einem bestimmten Ort (relativ oder absolut) angesiedelt ist. Dadurch können Sie Ihr Projekt an jemand anderen verteilen oder es auf einem anderen Computer mit einem anderen Betriebssystem installieren. Solange Eigen an einem vernünftigen Ort installiert ist, wird CMake es finden. – Stewart