PDA

View Full Version : come collegare librerie dinamiche in eclipse?


kid17
18-10-2008, 11:16
Salve,
ho un problema che da qualche giorno mi sta facendo perdere la pazienza....
Mi spiego meglio,
ho creato una libreria dinamica(sotto linux) utilizzando( in matlab):

mcc -W cpplib:libsp -T link:lib somma.m prodotto.m -v

che mi restituisce i seguenti file: libsp.cpp, libsp.so, libsp.exports, libsp.h, libsp.prj, libsp_mcc_component_data.c, mccExcludedFiles.log, readme.txt

Ora voglio usare questa libreria(libsp.so) in un progetto c++, infatti ho creato un semplice file(esempio.cpp) nella stessa directory della libreria.
In esso ho incluso il file libsp.h ma andando a compilare mi da una miriade di errori:

**** Build of configuration Debug for project gio ****

make -k all
Building file: ../libsp.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"libsp.d" -MT"libsp.d" -o"libsp.o" "../libsp.cpp"
In file included from ../libsp.cpp:10:
../libsp.h:14:22: error: mclmcrrt.h: Nessun file o directory
../libsp.h:15:25: error: mclcppclass.h: Nessun file o directory
In file included from ../libsp.cpp:10:
../libsp.h:61: error: expected initializer before ‘libspInitializeWithHandlers’
../libsp.h:65: error: expected initializer before ‘libspInitialize’
../libsp.h:68: error: expected initializer before ‘libspTerminate’
../libsp.h:73: error: expected initializer before ‘libspPrintStackTrace’
../libsp.h:77: error: expected initializer before ‘mlxSomma’
../libsp.h:81: error: expected initializer before ‘mlxProdotto’
../libsp.h:113: error: expected initializer before ‘somma’
../libsp.h:117: error: expected initializer before ‘prodotto’
../libsp.cpp:15: error: ‘mclComponentData’ does not name a type
../libsp.cpp:22: error: ‘HMCRINSTANCE’ does not name a type
../libsp.cpp: In function ‘int mclDefaultPrintHandler(const char*)’:
../libsp.cpp:31: error: ‘strlen’ was not declared in this scope
Building file: ../libsp_mcc_component_data.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"libsp_mcc_component_data.d" -MT"libsp_mcc_component_data.d" -o"libsp_mcc_component_data.o" "../libsp_mcc_component_data.c"
Building file: ../prova.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"prova.d" -MT"prova.d" -o"prova.o" "../prova.cpp"
../libsp.cpp:31: error: ‘mclWrite’ was not declared in this scope
../libsp.cpp: In function ‘int mclDefaultErrorHandler(const char*)’:
(continuano... )

So che bisogna linkare la libreria ma nn so come fare!!!!
Qualcuno può aiutarmi?
grazie mille

cionci
18-10-2008, 19:28
http://www.hwupgrade.it/forum/showthread.php?t=1649196