» »

DLL path za MATLAB

DLL path za MATLAB

MrStein ::

MATLAB 7.8

Imam težave z dodajanjem enega dll (gams.dll - google it) v MATLAB.
Je v mapi, ki je v path-u Matlaba (menu File / Set Path...) ampak "ne prime".

klic gams() pade kot neznan
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Randomness ::

Mislim, da moraš dll v Matlab naložiti s klicem loadlibrary. Druga možnost je, da napišeš mex wrapper.

http://www.mathworks.com/help/techdoc/m...

MrStein ::

Hmm, čudno, v navodilih piše, da je dovolj fajl dati na MATLAB path.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Randomness ::

Ne poznam specifik gamsa, vendar če gre za dll, mora le-ta verjetno biti viden Windowsovemu dinamičnemu linkerju. Ali drugače, biti mora prisoten v enem izmed direktorijev, ki so našteti v okoljski spremeneljivki PATH.

dukedl ::

al pa če ga registriraš v sistem? regsvr32 imedllja?
lp dukedl

MrStein ::

Gre za MATLAB zadevo. MATLAB path ni isto kot Windows PATH.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Randomness ::

Gledam navodila (http://www.gams.com/dd/docs/tools/gdxmr... in ne vidim nič posebnega. Kaj več je glede na tvoj neiformativen opis težko reči.

MrStein ::

Windows je 64 biten, mogoče tu tiči zajec...
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Randomness ::

Mislim, da je bolj pomembno, da je dll kompatibilen Matlabu. Torej, če je Matlab 32-biten, mora biti takisto-biten tudi dll. Enako za 64-bit.

darkkk ::

Par vprašanj:
1. verzija matlaba (32/64b), s kakim kompajlerjem je bil .dll narejen? (tole se mora ujemat)
2. ime funkcije znotraj .dll je tista, ki jo kličeš. Ime .dll nima nič s tem


/// tole je iz R-a, domnevam da je v matlabu podobno:
1. loadaš .dll iz bilokje, le povedat mu moraš polno pot do datoteke (R zateži, če probaš loadat 32b dll na 64 bit verzijo in obratno), matlab bi tudi skor moral
2. ko imaš naloadan .dll, bi moral med simboli imeti tudi C funkcije definirane v .dll datoteki
3. (offtopic skor) za R so .dll datoteke skompajlane z gcc, le da je običajno statično linkan noter R.h ter Rmath.h, najbrž je za matlab vse skupaj zelo podobno.

MrStein ::

64 bit
DDL je provajdan od avtorja, ne vem s čim je kompajliral, ampak dvomim, da Matlab obstaja v različnih izvedbah, razen tega Matlab podpira DLL-je z več kompajlerjev (zasledil na net-u) - saj drugače bi bilo madness...

ime funkcije je iz example script-a
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

darkkk ::

Tkole mamo: načeloma je dost vseeno s čim je c/c++ dll narejen, ampak je pa pomembno, ali je kompajlan v 32b ali 64bitno izvedenko. Ker če je kaj "pravice" na svetu, bo potem matlab svoje objekte prek pointerjev pokazal funkciji, ki živi v dll-u (in se s tem podatki / porabljen pomnilnik) ne podvaja. In ja, matlab vsaj sodeč po prvih zadetkih googla obstaja v 32 in 64bit verziji. Problem je v velikosti (št. bitov) pointerjev.

Lej na žalost se na matlab ne spoznam kaj preveč(razen da sem nakaj na faksu pacal z njim), ampak R (ki je pravzaprav ful podoben) ima to tako rešeno, da so vsi paketi bodisi kompajlani iz sourca, bodisi ima paket skompajlana oba (32/64bit dll) in pravega naloži.

Dej probi nam napisat vsaj nekaj, kako probaš dll naložit in kaj dobiš kot error.

residual ::

a ni tako da podpore za .dll v Matlabu ni več od verzije 2008b, ti pa uporabljaš 2009a... novejše verzije imajo kompajle namesto .dll sedaj .mex32 oz .mex64

Poskusi najprej z verzijo Matlaba 2008b če dela...

MrStein ::

Hvala.

Sicer sem pod path dal vso mapo od GAMS-a, in če so, potem so tile mex fajli tam noter, pa vseeno ne dela. Bom pa probal (zdaj nisem pri tistem PC).
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kako poračunati enačbo?

Oddelek: Loža
101535 (1054) kitajc
»

sumljive zadeve?

Oddelek: Pomoč in nasveti
111315 (916) phuntaox
»

Petdeset let COBOL-a (strani: 1 2 3 )

Oddelek: Novice / Znanost in tehnologija
12412507 (9725) tony1
»

[c#] naloga za maturo...rabim majhno pomoc

Oddelek: Programiranje
192254 (1591) ql000
»

MATLAB 7 problem

Oddelek: Programska oprema
5957 (886) teoo

Več podobnih tem