Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    17

    [C]Compilare programma - Linkare libreria

    Ciao a tutti sono nuovo di qui

    vi chiedo un'informazione al volo;sono in linux ed ho fatto un programma chiamato main.c che linka una libreria lib.h con annesso file lib.c. ogni volta che provo a compilare mi dice:

    lib.h no such file or directory

    siccome sono nuovo di linux non riesco proprio a farlo funzionare...
    qualcuno sa dirmi come faccio ?

    p.s ovviamente i tre file sono tutti nella stessa directory

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    i file .h non sono librerie sono file header..

    nel tuo main fai #include "lib.h"?

    come compili?

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Prima di tutto lib.h NON e' una libreria ma un semplice file include.

    Per il problema, penso tu abbia scritto

    #include "./lib.h"

    giusto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    17
    si si non č una libreria, intendevo il prog in generale.. cmq nel main ho messo

    #include <lib.h>

    onestamente non essendo per nulla pratico di linux ho provato con due modi letti qua e lā ma c'č sicuramente qualcosa che non va ^^'

    gcc -o main.c lib.c -lgmp -lm

    (xke linko la gmp e math)

  5. #5
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    #include "./lib.h"

    non

    #include <lib.h>

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    17
    provo subito e ti dico.. il comando per compilare all fine era giusto ?

    edito: ok l'errore č cambiato, gia un buon segno

    /usr/lib/gcc/i486-linux-gnu/4.2.4/../../../../lib/crt1.o: In function `_start':
    (.text+0x18): undefined reference to `main'
    collect2: ld returned 1 exit status

    ri-edito!!!!!
    dalla cartella sono spariti i due file .c O_o

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Ma la funzione

    main

    ce l'hai nel tuo programma?

    P.S. I problemi che mostri non dipendono da Linux ma dal fatto che non conosci ancora bene il C ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    17
    si nel file main.c c'č ovviamente la funzione main.. a parte che ora i file sono spariti e non so piu dove prenderli...

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Con il comando

    gcc -o main.c lib.c -lgmp -lm

    hai cancellato il main.c ...

    L'opzione -o va usata per indicare il file in output ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Originariamente inviato da oregon
    Con il comando

    gcc -o main.c lib.c -lgmp -lm

    hai cancellato il main.c ...

    L'opzione -o va usata per indicare il file in output ...
    Č brutto quando capita

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.