Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-03-2014, 07: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, 10: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, 10: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 10:17.
DomusP45 è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2014, 12: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, 13: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


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
I giocatori voltano le spalle a Linux? L...
Instagram Plus arriva in Italia: cosa in...
XBOX: la nuova CEO non ha ancora le idee...
Intel non ha intenzione di abbandonare i...
La AI Mode sarà attiva di default...
Marvel's Wolverine non sarà un op...
Star Wars Zero Company esce ad agosto: n...
Bonus Decoder: fino al 70% di sconto con...
Virtua Fighter è tornato e non &e...
Il ritorno di Fumito Ueda, autore di Sha...
Cooler Master svela GPU Shield, la nuova...
Samsung Galaxy S27 Pro: sarà lui ...
Così Google ha ottimizzato Chrome...
Xiaomi non cambia idea: il display poste...
LG presenta in Italia le gamme TV Micro ...
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: 13:24.


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