2015-08-27 1 views
0

Je dois implémenter un proxy client pour le service Web wcf en utilisant gSOAP en C++. J'ai utilisé la page Getting Started (dans la section "Exemple de client gSOAP (C++)") pour générer un proxy client pour tester mon service web. Quand je veux construire des projets utilisanterreur: 'memcpy_s' n'a pas été déclaré dans cette portée dans gSOAP

c++ -o calcclient calcclient.cpp soapC.cpp soapcalcProxy.cpp stdsoap2.cpp 
commande

Je reçois des erreurs suivantes:

enter image description here

Il semble qu'il ya une bibliothèque standard qui ne sont pas compris dans stdsoap2.cpp. J'utilise MinGW en tant que compilateur et mon OS est Windows 8.

+0

Vous avez inclus 'cstring'? Quelle version de MinGW utilisez-vous? – Youka

+0

no. J'utilise MinGw inclus dans le bloc de code dans http://sourceforge.net/projects/codeblocks/files/Binaries/13.12/Windows/codeblocks-13.12mingw-setup.exe –

+0

@Youka J'ai ajouté cstring dans stdsoap2.cpp mais ne fonctionne pas. –

Répondre

2

memcpy_s est une version sûre de memcpy et normalement incluse avec les bibliothèques standard. MSVC le fait, MinGW64 aussi.

Avec Code :: Blocks vous obtenez TDM GCC qui est derrière MinGW64 et ne semble pas avoir l'API sécurisée. Chargez simplement MinGW64, configurez Code :: Blocks pour utiliser ce compilateur et tout devrait bien se passer.

+0

merci mais il n'y a pas MinGW64 dans la liste du compilateur. Le compilateur sélectionné est GNU GCC Compiler. –

+0

Open ** Code :: Blocs -> Paramètres -> Compilateur ... **, choisissez ou copiez _GNU GCC Compiler_ et configurez. Tab ** Les exécutables de la chaîne d'outils ** doivent se référer à MinGW64 avec un chemin supplémentaire vers le répertoire du sous-compilateur, f.e. "E: \ mingw32 \ i686-w64-mingw32". Le repos est une question de CB, facile à résoudre par la recherche sur le Web. – Youka

+0

J'ai eu une erreur et beaucoup d'erreurs disparu! Maintenant, mon erreur est: erreur: 'wctomb_s' n'a pas été déclaré dans cette portée | –