2011-03-31 3 views
4

Je suis en train de construire une application C en 64 bits en utilisant la cible x64 dans le gestionnaire de configuration en studio visuel 2008.winsock et cible x64

Cependant, j'utilise des prises et mon programme comprend WINSOCK.H et winsock32.lib dans la section bibliothèque des propriétés du projet?

Quel est l'équivalent pour 64 bits? Je ne veux pas courir comme 32 bits mais comme une pure application 64 bits.

Merci pour toute aide à l'avance.

Subbu

Répondre

4

Microsoft ne nomme pas certaines de ces bibliothèques très bien, j'ai peur. Tant que vous liez sur la version 64 bits de winsock32.lib, ça devrait aller. Voici un MSDN link avec un problème similaire et plus d'informations.

+0

(Nitpick) Ce n'est pas la faute de Microsoft, comment les bibliothèques sont nommées. Si quelqu'un doit être blâmé, ce sont les programmeurs. Ils devaient conserver les mêmes noms pour des raisons de compatibilité ascendante, ou vous pouviez voir des centaines de questions à ce sujet. "Pourquoi mon programme ne fonctionne plus quand je recompile pour 64 bits? Stupide Microsoft, ils cassent toujours tout." –

+0

@Cody Gray, c'est surtout raisonnable, sauf quand la bibliothèque a été nommée avec un 32 dedans en premier lieu. Je suis tout à fait pour la rétrocompatibilité, mais penser à cela un peu à l'avance peut souvent faire une grande différence. –

+1

Point équitable. Personne n'aura jamais besoin de plus de 32 bits. –

0

Dans mes 'dépendances supplémentaires' que je devais changer le chemin: C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0 \ Lib \ winhttp.lib

à: C: \ Program Files \ Microsoft SDK \ Windows \ v7.0 \ Lib \ x64 \ winhttp.lib

+0

L'idéal serait de ne pas avoir les chemins complets dans vos "Dépendances supplémentaires" listes. Vous devriez juste avoir "winhttp.lib" listé et l'installation correcte du chemin LIB pour 32 bits par rapport à 64 bits serait liée à la bonne version. –