Importare librerie in dev c++

di il
13 risposte

Importare librerie in dev c++

Ho scaricato la libreria per gestire excel che si chiama libxl. Io uso dev c++ ma in internet ho trovato tante cose ma nessuna che andasse, forse sono io... comunque non è molto che programmo e quindi volevo chiedervi una mano perchè ho scaricato la cartella libxl e dentro ci sono un po di cartelle con file .dll, .lib, .h I file .h sono tantissimi, i file .lib sono 2: uno in una cartella lib e l'altro in una cartella lib64 I file .dll sono in una cartella bin e l'altro in bin64 Di questi file cosa ne devo fare per poter includere le funzioni di libreria nel mio progetto e se avete pazienza a cosa servono rispettivamente??


grazie

13 Risposte

  • Re: Importare librerie in dev c++

    Comincia dall'inizio ... usi Linux o Windows ? E cosa vuoi fare con il tuo programma ?
  • Re: Importare librerie in dev c++

    Uso windows 7 e voglio importare il valore di una cella di excel come parametro di una funzione
  • Re: Importare librerie in dev c++

    Lavorare con Excel (in genere, con i prodotti Office) da C++ è particolarmente complesso e articolato. Spero che ti sia veramente necessario farlo (e che tu non possa lavorare diversamente, magari con un file di testo dopo averlo esportato da Excel).

    In ogni caso, cosa non va con quella libreria? Cosa hai fatto? Hai visto il codice d'esempio?
  • Re: Importare librerie in dev c++

    Purtroppo devo per forza usare excel per prendere i dati.. però guardando gli esempi sono riuscito sia a importare la libreria, sia a capire come funziona più o meno... c'è un problema però legato al tipo wchar_t che è richiesto un po dappertutto nelle funzioni della libreria, ti metto un esempio:

    int xlSheetWriteStr(SheetHandle handle, int row, int col, const wchar_t* value, FormatHandle format)
    Writes a string into cell with specified format. If format equals 0 then format is ignored. String is copied internally and can be destroyed after call this method. Returns 0 if error occurs. Get error info with xlBookErrorMessage().

    FormatHandle è un tipo definito dalla libreria e non è un problema.
    Cercando wchar_t in internet ho trovato che per il C lo posso trovare nella libreria stddef.h che ho inserito nel mio sorgente con #include. wchar_t è paragonabile a un long int rispetto a un int se ho capito giusto, quindi è come se fosse un carattere lungo (non capisco però perchè l'abbiano definito così nella funzione e non semplicemente char). Comunque quando vado a inserire un parametro attuale nella funzione l'esempio me la dà così:

    xlSheetWriteStr(sheet, 11, 1, L"Total:", totalLabelFormat);

    su internet c'è scritto che la L davanti a "Total" in questo caso dice che stiamo trattando un carattere lungo, ma non capisco perchè è necessaria se nel parametro formale della funzione è già definito che quella variabile è un wchar_t. Comunque lo potrei prendere anche per buono se non fosse che il compilatore C non me lo dà come errore, ma come warning dicendomi:

    passing arg4 of 'xlSheetWriteStrA' from incompatible pointer type.

    il risultato è che però non mi fa eseguire il programma..
    e alla fine di tutti gli warning mi dà un messaggio di errore che non so cosa voglia dire:
    [Build Error] [Progetto1.exe] Error 1

    L'esempio che sto prendendo come campione è questo:

    http://www.libxl.com/invoice.htm

    Spero di essere stato il più chiaro possibile a spiegare e grazie mille intanto
  • Re: Importare librerie in dev c++

    Togli la

    L

    dalle costanti stringa
  • Re: Importare librerie in dev c++

    Dev c++ è una ETERNA CIOFECA abbandonata (dal 2005) scaricati code::block stesso compilatore(naturalemte aggiornato[MinGW]) ma un ide veramente facile per i principianti e non!
    Secondo se vuoi imparare inizia dall'ABC quando avevi 6 anni l'hai fatto adesso ti tocca di nuovo.
    COMPRA!(pochi euro) la bibbia il K&R studialo,risolvi tutti gli esercizi,impara a memoria tutte le api come hai fatto da piccolo con le preghierine e alla fine avrai voglia di eccedere e solo allora forse avrai le capacità tecniche di sviluppare.

    Se tutto ciò ti sembra assurdo allora scaricati quell coso chiamato vb.net express edizione anno (qualcosa) vedrai che in internet ne trovi di esempi anche con l'odioso e inutile past and copy.
    Se odi il vb (io l'ho amato fino al 6) allora scaricati il c#(sharp) express edition.

    Se proprio vuoi far di testa tua allora perchè non usi l'assembly almeno muori mentre godi!
  • Re: Importare librerie in dev c++

    È vero sono un principiante, ma che deve dare un esame di ingegneria informatica su ste cose, quindi più imparo meglio è, e se mi ostino col C e non col C# o qualcosa di più semplice è perchè su quello devo dare l'esame, non su qualche altro linguaggio, quindi credo che voler imparare queste cose per un ragazzo che ha intrapreso un corso di studi come il mio, sia il minimo. per quanto riguarda il compilatore grazie... terrò a mente
  • Re: Importare librerie in dev c++

    Vorrei solo capire una cosa: In una materia che tu stai studiando vi insegnano il C++ e fin quì mi sta bene. Siccome sei alle prime armi (l'hai detto tu stesso e da quel poco che hai scritto si nota anche) non comprendo la linea guida dell'insegnate di insegnarvi a costruire la macchina prima di avervi insegnato come si guida. Interfacciare C++ a Excel non è una passeggiata e anche aiutandoti con la libreria esterna (praticamente il lavoro lo fa lei) tu hai problemi a capire la differenza tra wchar_t e char. uno è UNICODE e l'altro è MBCS.
    http://www.codeproject.com/Articles/446/Unicode-MBCS-and-Generic-text-mappings

    Quindi non è colpa della libreria ma delle nozioni che a te mancano (senza offesa).
    Se tu hai creato un progetto MBCS e non UNICODE come presumo che sia, ogni volta che hai a che fare con una stringa avrai sempre questi problemi. La L davanti alla stringa dice al compilatore di trattarla come UNICODE ma siccome il tuo progetto è MBCS il compilatore te lo da come errore e se lo togli si incazza la libreria. Quindi soluzione:
    CAMBIA STO CAVOLO DI COMPILATORE e inizia ad usare uno serio. Code::Blocks o Visual C++ Express (gratuito) e crea un progetto UNICODE come la libreria vuole, oppure di al prof che interfacciare Excel col C++ si studia nella sessione Master del tuo ramo e quindi non è compreso dal tuo piano di studi.
  • Re: Importare librerie in dev c++

    Secondo me, questi "professori" sono molto lontani dalla pratica quotidiana relativa a IDE/compilatori ma solamente "arroccati" alla pura e semplice teoria.

    Però, in effetti, il fatto di dover usare Excel è un mistero ... mai visto in un primo corso di C++ ...
  • Re: Importare librerie in dev c++

    Il mio corso è di C non di C++ e per quante cose insegnino che magari sembrano strane, interfacciarsi con excel non è una di quelle, era un'idea mia di un progetto che volevo realizzare e dato che il mondo del C è grande ho chiesto a voi come si potesse fare non avendo idea se fosse facile o difficile... se mi mancano le basi per interfacciarmi con excel sono ben contento di studiarle! basta sapere che servono
  • Re: Importare librerie in dev c++

    Mattia541993 ha scritto:


    era un'idea mia
    Ah ecco ... mi sembrava strano per un corso (di C/C++ non importa).
  • Re: Importare librerie in dev c++

    ho scaricato la cartella libxl e dentro ci sono un po di cartelle con file .dll, .lib, .h I file .h sono tantissimi, i file .lib sono 2: uno in una cartella lib e l'altro in una cartella lib64 I file .dll sono in una cartella bin e l'altro in bin64 Di questi file cosa ne devo fare per poter includere le funzioni di libreria nel mio progetto e se avete pazienza a cosa servono rispettivamente??
    riconoscere i formati e saperli installare è l'ABC.
    Come installarli dipende dal compilatore,per un principiante i file header li metti nel "..\compilatore\header\"
    i file lib.a "..\compilatore\lib\"
    i file .dll "..\sistemaoperativo\system32\" "..\compilatore\bin\"

    cosi sei sicuro che sia tutto al posto giusto,poi piu avanti capirai il cosa dove e perchè.

    in questo modo gli header gli includi semplicemente:
    #include <header.h>
    poi ad esempio in c::b :project->build option... selezioni linker setting cliccki su add e importi la lib.a
  • Re: Importare librerie in dev c++

    Grazie!
Devi accedere o registrarti per scrivere nel forum
13 risposte