Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5 introduce Dynamic Multi Frame Generation e MFG 6X, permettendo fino a cinque frame generati per ogni frame renderizzato. I test su Cyberpunk 2077 e 007 First Light mostrano forti incrementi di FPS e riduzione della latenza su RTX 5090 Laptop. Migliorano fluidità, stabilità e qualità visiva.
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
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


DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
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...
Gli israeliani di NSO Group continuano a...
AMD scommette 2 miliardi di sterline sul...
WhatsApp annuncia la fine del supporto p...
La batteria miracolosa di Donut Lab potr...
Instagram introduce a livello globale la...
Google aggiorna Chrome: chiusa la quinta...
Il presidente è sicuro: "BYD...
La Commissione europea approva un piano ...
Roborock Qrevo Edge 2 a 699,99€: LDS ret...
Una sviluppatrice ottiene l'esenzione pe...
Oltre 340 testate locali bloccano Intern...
Un round di finanziamento da 1 milione p...
Pan-Good ha creato il motore elettrico a...
Lexar avverte: i prezzi della RAM potreb...
Intel come Apple: copia il mondo degli s...
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:44.


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