|
|
Problem mit dem MEX Interface |
|
clustering_n00b |
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 05.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2011a, R2012b
|
|
|
|
|
|
Verfasst am: 12.09.2012, 09:29
Titel: Problem mit dem MEX Interface
|
|
|
|
|
Hallo zusammen!
Ich poste hier nach langer Zeit wieder
Ich bin gerade daran ein Stück Code zu verstehen, das von jemand anderem geschrieben wurde (mühsam!). Der Code befindet sich hier und kann unter folgendem Link heruntergeladen werden.
Im Readme folder steht, man soll ins /src wechseln und dort main.m laufen lassen.
Jedoch bekomme ich die folgende Fehlermeldung:
Zitat: |
??? Undefined function or method 'mpi_kmeans_mex' for input arguments of type
'double'.
Error in ==> mpi_kmeans at 51
[CX,sse,assignment] = mpi_kmeans_mex(X, initcenters, maxiterations, nr_restarts,
w);
Error in ==> ClusterTerm>callClusteringMethod at 49
[clusterMean sse] = mpi_kmeans(estDiffuse', k, 0, restarts);
Error in ==> ClusterTerm>initializeCluster at 56
clusterMean = callClusteringMethod(estDiffuse, parameter.k, ...
Error in ==> ClusterTerm at 9
self = initializeCluster(self, img, parameter, r);
Error in ==> main at 73
opts.energyStack{end+1} = ClusterTerm(img, parameter, opts, r);
|
Ich vermute, dass das irgendwas mit dem MEX-Interface zu tun hat. Muss man speziell die Interpretation von MEX Files in MATLAB enabeln?
Freue mich auf Debugging-Vorschläge!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.09.2012, 19:14
Titel:
|
|
Hallo,
die erste Frage wäre: gibt es überhaupt eine Datei, die auch nur annähernd so heißt wie die, die nicht gefunden werden konnte?
Wenn du Code von einer Seite runterlädst, die eindeutig einer Person zuzuordnen ist, würde ich es ja für das sinnvollste halten, diese Person zu kontaktieren. Derjenige dürfte sein Projekt schließlich am besten kennen, und er kann dann ggf. die Anleitung deutlicher formulieren.
Grüße,
Harald
|
|
|
clustering_n00b |
Themenstarter
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 05.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2011a, R2012b
|
|
|
|
|
|
Verfasst am: 12.09.2012, 19:23
Titel:
|
|
Hi Harald!
Die Datei 'mpi_kmeans_mex.cxx' befindet sich im Ordner /lib/mpi_kmeans-1.6/.
Ich würde sehr gerne den Autor kontaktieren, aber ich möchte zuerst sicherstellen, dass das Problem nicht in meinem System liegt, eben wie z.B. das man irgendwas in MATLAB einstellen muss um das MEX Interface zu benutzen.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.09.2012, 19:33
Titel:
|
|
Hallo,
das naheliegendste wäre auf den ersten Blick, dass du den Code zunächst selbst kompilieren musst.
Grüße,
Harald
|
|
|
clustering_n00b |
Themenstarter
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 05.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2011a, R2012b
|
|
|
|
|
|
Verfasst am: 12.09.2012, 19:39
Titel:
|
|
Das mit dem Kompilieren
habe ich schon versucht (für alle .cxx Dateien in /lib), aber jedesmal bekomme ich einen Error:
Zitat: |
Unable to complete successfully. |
Interessanterweise sind aber schon zwei filename.mexa64 Dateien enthalten, also muss die Kompilierung schon gemacht worden sein.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 12.09.2012, 19:49
Titel:
|
|
Hallo,
kommen keine weiteren Informationen? Nur "unable to complete successfully"?
64 sieht nach 64 bit aus. Du arbeitest schon mit einem 64 bit System?
Grüße,
Harald
|
|
|
clustering_n00b |
Themenstarter
Forum-Century
|
|
Beiträge: 129
|
|
|
|
Anmeldedatum: 05.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2011a, R2012b
|
|
|
|
|
|
Verfasst am: 12.09.2012, 20:03
Titel:
|
|
Ja, arbeite an einem Mac Book Aor mit Core 2 Duo Prozessor - 64 bit.
Doch, doch. Da kommt noch einiges. Nur 2 Beispiele hier:
Zitat: |
Undefined symbols:
"assign_point_to_cluster_ordinary(double const*, double const*, unsigned int, unsigned int)", referenced from:
_mexFunction in mpi_assign_mex.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
mex: link of ' "mpi_assign_mex.mexmaci64"' failed.
??? Error using ==> mex at 208
Unable to complete successfully. |
Zitat: |
mpi_kmeans_mex.cxx: In function 'void mexFunction(int, mxArray**, int, const mxArray**)':
mpi_kmeans_mex.cxx:149: error: 'mxCreateScalarDouble' was not declared in this scope
mex: compile of ' "mpi_kmeans_mex.cxx"' failed.
??? Error using ==> mex at 208
Unable to complete successfully.
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|