Compilazione funzioni allegate

di il
10 risposte

Compilazione funzioni allegate

Salve a tutti, volevo chiedere se qualcuno ha tempo di provare a compilare la funzione spm_conv_vol.c presente nelle funzioni allegate. Premetto che io sto compilando con gcc su sistema operativo Windows Xp.
Io ho provato col seguente comando da prompt dei comandi:

gcc -O2 -shared -o lib_conv_vol.so spm_conv_vol.c spm_mapping.c win32mmap.c spm_vol_access.c spm_vol_utils.c  spm_make_lookup.c spm_getdata.c -I C:\Programmi\scilab-5.3.0\modules\mexlib\includes -I "C:\Documents and Settings\User\Desktop\San Raffaele\Scilab
\spm" -L C:\Programmi\scilab-5.3.0\bin -lmex
specificando funzioni C, includes e librerie.
ma continua a darmi erorri su errori, è per questo che allego tutte le funzioni in modo che possiate provarci posti nelle mie stesse condizioni.
Saluti!

10 Risposte

  • Re: Compilazione funzioni allegate

    Quali sarebbero gli errori? Utilizzi un makefile?
  • Re: Compilazione funzioni allegate

    Non uso un makefile, ora sto compilando così:
    
    gcc -Wold-style-definition -Wold-style-declaration -O2 -shared -o lib_conv_vol.so -DSPM_UNSIGNED_
    CHAR -DSPM_SIGNED_CHAR -DSPM_SIGNED_SHORT -DSPM_UNSIGNED_SHORT -DSPM_SIGNED_INT
    -DSPM_UNSIGNED_INT -DSPM_FLOAT -DSPM_DOUBLE -DSPM_BYTESWAP spm_conv_vol.c spm_ma
    pping.c win32mmap.c spm_vol_access.c spm_vol_utils.c spm_make_lookup.c spm_getda
    ta.c -IC:\Programmi\scilab-5.3.0\modules\mexlib\includes -I"C:\Documents and Set
    tings\User\Desktop\San Raffaele\Scilab\spm" -LC:\Programmi\scilab-5.3.0\bin -lmex
    
    ma mi restituisce un numero spropositato di warning.
    Ma soprattutto credo che non mi crei il file oggetto perchè alla fine mi ritorna:

    C:\DOCUME~1\User\IMPOST~1\Temp\ccNiHmD4.o:spm_mapping.c:(.text+0x34): undefined
    reference to `munmap'
    C:\DOCUME~1\User\IMPOST~1\Temp\ccRahBLE.o:spm_vol_access.c:(.text+0x1b1): undefi
    ned reference to `resample_uchar'
    C:\DOCUME~1\User\IMPOST~1\Temp\ccRahBLE.o:spm_vol_access.c:(.text+0x211): undefi
    ned reference to `resample_schar'
    C:\DOCUME~1\User\IMPOST~1\Temp\ccRahBLE.o:spm_vol_access.c:(.text+0x271): undefi
    ned reference to `resample_short'
    C:\DOCUME~1\User\IMPOST~1\Temp\ccRahBLE.o:spm_vol_access.c:(.text+0x2d1): undefi
    ned reference to `resample_ushort'
    C:\DOCUME~1\User\IMPOST~1\Temp\ccRahBLE.o:spm_vol_access.c:(.text+0x331): undefi
    ned reference to `resample_int'
    C:\DOCUME~1\User\IMPOST~1\Temp\ccRahBLE.o:spm_vol_access.c:(.text+0x391): undefi
    ned reference to `resample_uint'
    C:\DOCUME~1\User\IMPOST~1\Temp\ccRahBLE.o:spm_vol_access.c:(.text+0x451): undefi
    ned reference to `resample_float'
    C:\DOCUME~1\User\IMPOST~1\Temp\ccRahBLE.o:spm_vol_access.c:(.text+0x4b1): undefi
    ned reference to `resample_double' ....


    tutte funzioni che compaiono in spm_vol_access.c come extern void.

    Se riuscissi ad allegare le funzioni forse riuscirei a spiegarmi meglio, ma ogni file che provo ad allegare (rar, zip, txt, c) mi dice che sono estensioni non permesse.
  • Re: Compilazione funzioni allegate

    
    ...
       -o lib_conv_vol.so
    ...
    
    Devi compilare con -c creando gli oggetti e poi usare ar per creare la libreria


    Gli errori che segnali sono dovuti al passaggio che ti ho appena spiegato. Ti faccio un esempio:
    
    max@studio:~> cat prova.c
    #include <stdio.h>
    int main ()
    {
     asd ();
      return 0;
    }
    max@studio:~>gcc prova.c
    /tmp/cciHuKOf.o: In function `main':
    prova.c:(.text+0xa): undefined reference to `asd'
    collect2: ld returned 1 exit status
    max@studio:~> gcc -c prova.c
    max@studio:~> 
    
    ~Max
  • Re: Compilazione funzioni allegate

    Ti ringrazio ma il comando 'ar' è per creare librerie statiche...
    io sto compilando in questo modo:
    
    gcc -Wold-style-definition -Wold-style-declaration -O2 -shared -o lib_conv_vol.so -DSPM_DOUBLE spm_conv_vol.c spm_mapping.c win32mmap.c spm_vol_access.c spm_vol_utils.c spm_make_lookup.c spm_getdata.c -IC:\Programmi\scilab-5.3.0\modules\mexlib\includes -I"C:\Documents and Settings\User\Desktop\San Raffaele\Scilab\spm" -LC:\Programmi\scilab-5.3.0\bin -llibmex
    
    in modo da creare una libreria dinamica. Tutto sommato ho un problema con delle funzioni dichiarate 'extern void' nel file spm_vol_access.c che non riesco a trovare in nessun sorgente e in nessuna libreria e quindi il compilatore mi ritorna che sono 'undefined'. Premetto che le funzioni non le ho create io.
  • Re: Compilazione funzioni allegate

    Hai ragione ho confuso d' inpulso... sry

    ~Max
  • Re: Compilazione funzioni allegate

    Se riuscissi ad allegarti l'insieme di funzioni utili per la compilazione avresti un riscontro di quello che dico e potresti toccare con mano il problema...solo che ogni file che provo ad allegare (rar, zip, txt, c) mi dice che sono estensioni non permesse.
  • Re: Compilazione funzioni allegate

    Cè in scilab un comando/funzione che restituisce all'utente il sistema operativo su cui Scilab è installato?
    Tipo
    
    computer
    
    in Matlab
  • Re: Compilazione funzioni allegate

  • Re: Compilazione funzioni allegate

    Ti ringrazio..non riuscivo a trovare sta maledetta funzione...
  • Re: Compilazione funzioni allegate

    Di niente, e' bastata una semplice ricerca
Devi accedere o registrarti per scrivere nel forum
10 risposte