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
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