PDA

View Full Version : [C++]Aiuto libererie lapack


salvodel
09-09-2007, 20:10
Salve a tutti, spero che riusciate a darmi un aiutino nonostante il problema specifico. Premesso che non sono un programmatore di C++ ma ho la necessita di utilizzare un algoritmo già scritto in C volevo chiedervi un piccolo aiuto.
L'algoritmo in questione è quello di levenberg-marquardt per la minimizzazione.
Il mio problema è che sotto Windows con il Visual C++ non riesco ad utilizzare un implementazione trovata su questo sito http://www.ics.forth.gr/~lourakis/levmar/
Il problema principale è con le librerie Lapack. Mi sembra che il problema sia li. Ma come faccio a capire se non sono installate correttamente?:muro: :cry:
Grazie a tutti.


Questo è l'output di nmake /f Makefile.vc

Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.

cl /nologo /DHAVE_LAPACK /I. /MD /W3 /GX /O2 /c lm.c Axb.c misc.c lmlec
.c lmbc.c
cl : Command line warning D9035 : option 'GX' has been deprecated and will be re
moved in a future release
cl : Command line warning D9036 : use 'EHsc' instead of 'GX'
lm.c
Axb.c
misc.c
lmlec.c
lmbc.c
Generating Code...
lib /nologo /out:levmar.lib lm.obj Axb.obj misc.obj lmlec.obj lmbc.obj
cl /nologo /DHAVE_LAPACK /I. /MD /W3 /GX /O2 /c lmdemo.c
cl : Command line warning D9035 : option 'GX' has been deprecated and will be re
moved in a future release
cl : Command line warning D9036 : use 'EHsc' instead of 'GX'
lmdemo.c
cl /nologo lmdemo.obj /link /subsystem:console /opt:ref /libpath:C:\Prog
rammi\CLAPACK\lib /libpath:. /out:lmdemo.exe clapack.lib blas.lib libF77.lib lib
I77.lib levmar.lib
levmar.lib(misc.obj) : error LNK2019: unresolved external symbol _sgemm_ referen
ced in function _strans_mat_mat_mult
levmar.lib(misc.obj) : error LNK2019: unresolved external symbol _dgemm_ referen
ced in function _dtrans_mat_mat_mult
lmdemo.exe : fatal error LNK1120: 2 unresolved externals
NMAKE : fatal error U1077: '"C:\Programmi\Microsoft Visual Studio 8\VC\BIN\cl.EX
E"' : return code '0x2'
Stop.

variabilepippo
09-09-2007, 20:16
Non so se questo utente (http://www.wilmott.com/messageview.cfm?catid=34&threadid=51193) abbia avuto un problema simile al tuo.

salvodel
26-09-2007, 11:50
Non so se questo utente (http://www.wilmott.com/messageview.cfm?catid=34&threadid=51193) abbia avuto un problema simile al tuo.

Ti ringrazio solo ora perche dopo un po di euforia iniziale per la dritta che mi avevi dato il problema sembra continuare a persistere:confused: . Sembrerebbe che sia dovuto ai collegamenti con le librerie. Ho cercato su internet ma non ho trovato soluzioni valide.:cry:
Come faccio ad installare correttamente le librerie LAPACK per poterle utilizzare con Visual Studio od un qualsiasi altro compilatore anche di C assolutamente per Windows?
Di nuovo grazie.

tomminno
27-09-2007, 10:26
Ti ringrazio solo ora perche dopo un po di euforia iniziale per la dritta che mi avevi dato il problema sembra continuare a persistere:confused: . Sembrerebbe che sia dovuto ai collegamenti con le librerie. Ho cercato su internet ma non ho trovato soluzioni valide.:cry:
Come faccio ad installare correttamente le librerie LAPACK per poterle utilizzare con Visual Studio od un qualsiasi altro compilatore anche di C assolutamente per Windows?
Di nuovo grazie.

Ti manca qualche riferimento a sgemm e dgemm, dovresti vedere dove sono definiti nei sorgenti della libreria probabilmente ti manca qualche define nel progetto per cui non vengono inclusi.

salvodel
27-09-2007, 11:24
Ti manca qualche riferimento a sgemm e dgemm, dovresti vedere dove sono definiti nei sorgenti della libreria probabilmente ti manca qualche define nel progetto per cui non vengono inclusi.

Grazie mille per la risposta ma visto che sono completamente a digiuno di C++ ed anche di C potresti darmi qualche riferimento piu preciso e chiaro(tipo dove andare avedere e cosa toccare)?:confused: Grazie
Ho bisogno di queste librerie per far girare un programmi gia scritto ecco perche non so molto di C++.