Pagina 1 di 1
[C] domanda di compatibilità sorgente [RISOLTO]
Inviato: domenica 17 giugno 2007, 14:44
da mich
Ciao a tutti, ho creato un software in C che fà uso dei socket.
Il programma l'ho compilato sotto Windows e nel sorgente ho incluso la libreria winsock.h
Il programma attiva una porta del pc, rimanendo in ascolto per connessioni remote.
Ora, voglio utilizzarlo sotto il mio carissimo Ubuntu, ma penso proprio che anche se emulo il programma con wine, i socket non funzionino a dovere.
Come posso fare per dare piena compatibilità sotto Linux all'eseguibile? Esiste una libreria equivalente per linux?
Re: [C] domanda di compatibilità sorgente
Inviato: domenica 17 giugno 2007, 14:48
da origin of
Re: [C] domanda di compatibilità sorgente
Inviato: domenica 17 giugno 2007, 14:49
da menelicte
mmm...
penso che dovresti riconvertire le funzioni per le socket di windows con le analoghe di linux
l'header fondamentale è
Re: [C] domanda di compatibilità sorgente
Inviato: domenica 17 giugno 2007, 14:58
da menelicte
se vuoi un riferimento in italiano:
http://www.dis.uniroma1.it/~sarracco
cerca il materiale didattico per Sistemi Operativi (Demetrescu-Quaglia)
anche se in questo momento il sito è in coma
Re: [C] domanda di compatibilità sorgente
Inviato: domenica 17 giugno 2007, 18:50
da mich
vi ringrazio. nel frattempo ho trovato
questa ottima guida e stò modificando il sorgente per renderlo compatibile con l'ambiente unix.
P.S. in fase di compilazione, mi dà il seguente errore
'close' was not declared in this scope
dove alla riga specificata, chiudo il socket così
close(sock_new);
le librerie che ho utilizzato sono le seguenti:
Codice: Seleziona tutto
// header file per i socket
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
// altri header
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
il codice è giusto perchè l'ho controllato e ricontrollato. forse è un problema di header. potete aiutarmi?
Re: [C] domanda di compatibilità sorgente
Inviato: domenica 17 giugno 2007, 18:52
da origin of
mich ha scritto:
vi ringrazio. nel frattempo ho trovato
questa ottima guida e stò modificando il sorgente per renderlo compatibile con l'ambiente unix.
P.S. in fase di compilazione, mi dà il seguente errore
'close' was not declared in this scope
dove alla riga specificata, chiudo il socket così
close(sock_new);
le librerie che ho utilizzato sono le seguenti:
Codice: Seleziona tutto
// header file per i socket
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
// altri header
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
il codice è giusto perchè l'ho controllato e ricontrollato. forse è un problema di header. potete aiutarmi?
tiu manca questa

#include
Re: [C] domanda di compatibilità sorgente
Inviato: domenica 17 giugno 2007, 18:56
da mich
ho aggiunto quella e mi dà
Codice: Seleziona tutto
/tmp/ccKWRoKR.o:(.eh_frame+0x11): undefined reference to '__gxx_personality_v0'
collect2: ld returned 1 exit status
Re: [C] domanda di compatibilità sorgente
Inviato: domenica 17 giugno 2007, 19:03
da mich
risolto. compilavo con il gcc invece del g++ :-[ :-[