Re: [Openflipper] Plugin soll Bibliothek benutzen [GELÖST!!!]

Hallo Marlin und Jan, vielen, vielen Dank für Eure Hilfe. Das war genau der Teil, der mir fehlte. Die cmake-Finder hatte ich mir schon geschrieben, mir fehlte nur noch der Eintrag in der CMakeLists.txt in meinem Plugin-Verzeichnis. Danach funktionierte es direkt. Gruß, Marcel Makowski (IGPM) Am 25. Januar 2011 20:16 schrieb Marlin Frickenschmidt <marlin.frickenschmidt@rwth-aachen.de>:
Hallo Marcel, für BLAS und LAPACK gibt es bereits entsprechende cmake-Finder. Dort reicht es, die CMakeLists.txt deines Plugins in folgender Weise zu schreiben:
include (plugin) openflipper_plugin (DEPS LAPACK BLAS)
Also in die Klammern hinter openflipper_plugin einfach DEPS gefolgt von den Namen der Dependencies/Bibliotheken. Das funktioniert natürlich bei diesen beiden Bibliotheken nur, weil es bereits entsprechende Finder gibt. Schau dir doch mal die Finder im cmake-Verzeichnis von OpenFlipper an, damit kannst du (ein bisschen cmake-Kenntnisse vorausgesetzt) dann sicherlich auch Finder für deine Bibliotheken bauen.
Lieber Gruß, Marlin
On 01/25/2011 06:25 PM, Marcel Makowski wrote:
Hallo, ich möchte ein Plugin schreiben, welches einige mathematische Bibliotheken nutzen soll. Mir ist allerdings nicht klar, wie ich diese Bibliotheken cmake übergebe.
Als Beispiel nehmen wir das SimplePugin aus der Dokumentation und die Funktionen aus den Bibliotheken möchten wir in der Methode SmootherPlugin::simpleLaplace() verwenden.
In einem anderen Beispielprojekt habe ich diese Bibliotheken eingebunden, allerdings ohne cmake zu benutzen. Hier das Beispiel :
test_svd.cc: -----------------
#include <flens/flens.h>
using namespace flens;
typedef GeMatrix<FullStorage<double, ColMajor> > GEMatrix; typedef DenseVector<Array<double> > DEVector;
int main() { int m = 5; int n = 3; GEMatrix A(m, n), U(m,m), VT(n,n); DEVector s(min(m,n));
for (int i=1; i<=m; ++i) { for (int j=1; j<=n; ++j) { A(i,j) = i + j; } }
svd(A, s, U, VT);
return 0; }
Die Datei test_svd.cc liegt im Verzeichnis /home/masel/workspace/FLENS-2009-06-12/examples. Erzeugt wird das ganze durch: g++ -Wall -Wextra -g -O3 -fPIC -I /home/masel/workspace/FLENS-2009-06-12 -I. -o test_svd test_svd.cc -L.. -lflens -llapack -latlas -lblas
Folglich muss cmake also irgendwie klargemacht werden, wie die Bibliotheken flens, lapack, atlas und blas benutzt werden könne. Ich weiß, dass man so etwas Prinzipiell mit Find<Bibliothekname>.cmake Dateien und einträgen in der CMakeLists.txt erledigen sollte.
Falls mir jemand einen Tip geben kann, würde mir das sehr helfen, da ich schon seit einigen Woche versuche, das Problem zu lösen.
Gruß, Marcel Makowsi (IGPM)
_______________________________________________ Openflipper mailing list Openflipper@lists.rwth-aachen.de http://mailman.rwth-aachen.de/mailman/listinfo/openflipper
participants (1)
-
Marcel Makowski