View Single Post
Old 19-08-2010, 11:51   #7
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Cittā: Texas
Messaggi: 1722
Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
guarda ti riporto per intero le righe di errore.
Io non sono pratico di MatLab. E' anche probabile che sbaglio qualcosa.

Codice:
nn_main_sum.obj : error LNK2019: riferimento al simbolo esterno _engPutVariable non risolto nella funzione "int __cdecl t_main(int,char const * *)" (?t_main@@YAHHPAPBD@Z)
1>nn_main_sum.obj : error LNK2019: riferimento al simbolo esterno _mxGetPr non risolto nella funzione "int __cdecl t_main(int,char const * *)" (?t_main@@YAHHPAPBD@Z)
1>nn_main_sum.obj : error LNK2019: riferimento al simbolo esterno _mxCreateDoubleMatrix_730 non risolto nella funzione "int __cdecl t_main(int,char const * *)" (?t_main@@YAHHPAPBD@Z)
1>nn_main_sum.obj : error LNK2019: riferimento al simbolo esterno _engOpen non risolto nella funzione "int __cdecl t_main(int,char const * *)" (?t_main@@YAHHPAPBD@Z)
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: riferimento al simbolo esterno _main non risolto nella funzione ___tmainCRTStartup
Essendo errori del linker ho pensato fossero le librerie non linkate correttamente. Ho provato in vari modi, passandole a riga di comando, utilizzando la direttiva pragma o inserendole nelle opzione del progetto, ma non ottengo risultati.

L'help di Matlab riporta vari esempi, e chiama le funzione nel modo che ho utilizzato anche io.
Ad esempio nel manuale trovo:

Have: C/C++ code
Want: Create stand-alone link to MATLAB routines
Why: Don't want to code these routines, since they are already available
Need: [C/C++ Math Library], C/C++ compiler (to compile C code)
Don't need: MATLAB, MATLAB Compiler


Have: C/C++ code
Want: Live link to a MATLAB session and routines
Why: Use MATLAB as a Computational Engine
Need: MATLAB, C/C++ compiler
Don't need: MATLAB Compiler, [C/C++ Math Library]

Io credo di aver fatto come nel secondo caso, ovvero utilizzo la chiamata engOpen(). Che cosa ne pensi?

Grazie.
Per definizione, non penso

Sembra davvero che ci siano problemi nella convenzione delle chiamata. Se e' davvero cosi', il problema e' risolvibile.

Ho visto che linki dei .lib. Questi contengono la libreria "completa" o fanno poi riferimento a delle dll?

A proposito, sto dando per scontato che stai usando Visual Studio....

Prova a guardare
http://social.msdn.microsoft.com/for...a-66341803ad4a

probabilmente si applica al tuo caso
__________________
In God we trust; all others bring data
sottovento č offline   Rispondi citando il messaggio o parte di esso