Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-03-2014, 08:24   #1
DomusP45
Senior Member
 
L'Avatar di DomusP45
 
Iscritto dal: Apr 2010
Città: Whiterun
Messaggi: 580
[Visual C++ 2010] Socket in Visual C++ 2010 e Windows 7 64bit

Salve a tutti,
non ho mai programmato una socket, nè ho idea di come si faccia.

A titolo del tutto esemplificativo mi è stata proposta questa

http://cs.baylor.edu/~donahoo/practi...ets/practical/

che è molto intuitiva, ma è vecchia e a quanto pare fatta per sistemi 32bit.

Io devo creare una socket in ambiente 64bit in un'applicazione a 64bit, e questa non ne vuole sapere di compilare.

Ho configurato l'ambiente come descritto, e cercando con google ho trovato che la libreria da includere wsock32.lib in windows 7 è stata sostituita dalla libreria ws2_32.dll, che ho trovato nella cartella

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64

ma anche aggiungendo questa cartella a quella delle librerie aggiuntive, non compila.

Ad esempio, provando a compilare TCPEchoClient, continua a darmi questi errori

Codice:
1>------ Inizio compilazione: Progetto: sockt, Configurazione: Debug Win32 ------
1>Compilazione avviata 19/03/2014 08:22:42.
1>InitializeBuildStatus:
1>  Aggiornamento timestamp di "Debug\sockt.unsuccessfulbuild".
1>ClCompile:
1>  Tutti gli output sono aggiornati.
1>ManifestResourceCompile:
1>  Tutti gli output sono aggiornati.
1>TCPEchoClient.obj : error LNK2019: riferimento al simbolo esterno "public: int __thiscall CommunicatingSocket::recv(void *,int)" (?recv@CommunicatingSocket@@QAEHPAXH@Z) non risolto nella funzione _main
1>TCPEchoClient.obj : error LNK2019: riferimento al simbolo esterno "public: void __thiscall CommunicatingSocket::send(void const *,int)" (?send@CommunicatingSocket@@QAEXPBXH@Z) non risolto nella funzione _main
1>TCPEchoClient.obj : error LNK2019: riferimento al simbolo esterno "public: __thiscall TCPSocket::TCPSocket(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned short)" (??0TCPSocket@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@G@Z) non risolto nella funzione _main
1>TCPEchoClient.obj : error LNK2019: riferimento al simbolo esterno "public: __thiscall Socket::~Socket(void)" (??1Socket@@QAE@XZ) non risolto nella funzione "public: __thiscall CommunicatingSocket::~CommunicatingSocket(void)" (??1CommunicatingSocket@@QAE@XZ)
1>C:\OPENCV\Test\miei\provefunzioni\sockt\Debug\sockt.exe : fatal error LNK1120: 4 esterni non risolti
1>
1>Compilazione NON RIUSCITA.

Qualcuno sa dirmi come risolvere questi problemi di compilazione oppure sa dirmi come creare una socket in un'applicazione 64bit in visual C++ 2010, che cosa utilizzare?
__________________
Come la chiami la chiami, la cocozza sempre cocozza è.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2014, 11:05   #2
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Stai compilando comunque un programma a 32 bit:
Codice:
1>------ Inizio compilazione: Progetto: sockt, Configurazione: Debug Win32 ------
Se vuoi un software a 64bit devi compilare per l'architettura x64.
A quel punto il path delle librerie a 64bit viene incluso automaticamente dall'IDE.

Infine hai referenziato la ws2_32.lib?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2014, 11:14   #3
DomusP45
Senior Member
 
L'Avatar di DomusP45
 
Iscritto dal: Apr 2010
Città: Whiterun
Messaggi: 580
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Stai compilando comunque un programma a 32 bit:
Codice:
1>------ Inizio compilazione: Progetto: sockt, Configurazione: Debug Win32 ------
Se vuoi un software a 64bit devi compilare per l'architettura x64.
A quel punto il path delle librerie a 64bit viene incluso automaticamente dall'IDE.

Infine hai referenziato la ws2_32.lib?
Allora, ho cambiato il progetto a 64 bit come è giusto che sia (avevo fatto quella prova a 32 per capire se era dovuto a quello l'errore di compilazione) e nonostante referenzi quella libreria mi da problemi.

Allora ho provato a cercare direttamente la libreria chiesta dalla classe in C:\ ed ho trovato anche quella nella stessa cartella.

WSock32.Lib in C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64


Allora ho referenziato quella (nelle dipendenze aggiuntive) e messo quella cartella come cartelle di librerie aggiuntive, ed il programma compila.

Ma una volta lanciato,TCPEchoClient, non fa niente. Si apre e si chiude una finestra command.

A questo punto mi chiedo come farlo funzionare: ho capito che windows 7 ha comunque le librerie più vecchie in quella cartella, e se aggiunte come addizionali, il programma compila. E già mi sento meglio.

Ora mi guardo un pò il codice del programma e cerco di capire se non fa niente perchè la libreria c'è per compatibilità, ma alla fine non permette granchè, oppure se quell'esempio necessita di altra roba, se può essere l'antivirus/firewall che blocca il tentativo di comunicazione...

E quindi, ora mi metto a fare queste prove.

Grazie comunque per la risposta, aggiornerò la discussione quando avrò più dettagli sul problema.
__________________
Come la chiami la chiami, la cocozza sempre cocozza è.

Ultima modifica di DomusP45 : 19-03-2014 alle 11:17.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2014, 13:02   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Ma hai provato ad andare in debug? Hai a disposizione uno dei migliori IDE da questo punto di vista, usalo!

I programmi a console si chiudono non appena finito, se non metti niente per interrompere l'esecuzione prima dell'uscita dal main il comportamento è normale.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2014, 14:00   #5
DomusP45
Senior Member
 
L'Avatar di DomusP45
 
Iscritto dal: Apr 2010
Città: Whiterun
Messaggi: 580
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Ma hai provato ad andare in debug? Hai a disposizione uno dei migliori IDE da questo punto di vista, usalo!

I programmi a console si chiudono non appena finito, se non metti niente per interrompere l'esecuzione prima dell'uscita dal main il comportamento è normale.
Si si, ho messo system("Pause") per fermare l'esecuzione...credo sia dovuto al fatto che necessita di parametri in ingresso per funzionare...

Grazie comunque della disponibilità tomminno! Buona giornata!
__________________
Come la chiami la chiami, la cocozza sempre cocozza è.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Un portatile per i militari, ma con un o...
Discord, i messaggi di oltre 63.000 serv...
Nascosto nei meandri di Amazon, questo p...
Motorola Moto Buds 2 a 39,90€: prezzo di...
Due schede Raspberry Pi mai annunciate n...
Microfono gaming Yeti GX a 72,19€: -44% ...
PagoPA, false multe da 198 euro arrivano...
107,99€ su Amazon da stamattina: prezzo...
Cowboy Space Corp. presenta il suo razzo...
Per NetSuite il vantaggio nell'IA sta ne...
Scoperta la zona d'origine del segnale W...
La Stazione Spaziale Internazionale cont...
La Difesa statunitense ha pubblicato la ...
vivo X500 Pro e Pro Max ufficiali: tanta...
iOS 27.2: l'iPhone chiede ai numeri scon...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v