Problème de link?

Résolu
Signaler
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
-
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
-
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>
</title>
<meta name="GENERATOR" content="OpenOffice.org 2.2 (Linux)" />
<meta name="CREATED" content="20070618;10511400" />
<meta name="CHANGED" content="16010101;0" />
<style type="text/css">
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
</style>
Salut,

ce matin je me suis
confronté à un petit problème (de link ?) sur un
binaire créé sous MS Visual Studio C++.
En gros
j'ai créé le binaire en console qui ne fonctionne que
sur des PC ayant MS Visual d'installé, sinon je me tape une
erreur me disant que mon exe n'est pas valide.... et comme je ne suis
pas un crack de dev sous windows, je ne sais pas vraiment si il faut
activer ou non telle ou telle option... je ne sais pas trop quoi
faire, donc si quelqu'un à la solution je suis preneur (vous
savez sûrement mieux que moi comment résoudre ce
problème) .

Note : Mon binaire utilise une lib static
qui elle même utilise winsock2 :
#include
<winsock2.h>
#pragma comment ( lib , "ws2_32.lib"
)











------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO

9 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Peut-être pas. J'ai fais l'expérience. J'ai renommé mon dll MSVCP80.dll. Il m'envoie bien une erreur mais pas de "DLL manquant". C'est plutôt ceci:
"L'application n'a pas réussi à s'initialiser correctement (0xc0000034). Cliquez sur OK pour arrêter l'application"

Ton prog est en release ? Essais de te passer du RunTime. Pour ça, va dans Projet->Propriétés de ... ->Propriété de configuration->C/C++->Génération de code->Bibliothèque runtime et change pour Multithread (/MT)
Ça devrait générer un exe sans dépendance aux runtimes.

C++ (@++)<!--
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Ouais ça arrive souvent avec mes lib perso. Normalement, j'ignore l'avertissement sinon tu peux recompiler tes lib en changeant l'option situé à "Projet->Propriété de ...->Propriétés de configuration->C/C++->Avancé->Omettre les noms de bibliothèque par défaut" par "Oui (/Zl)"

C++ (@++)<!--
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
Salut,

bon oki j'ai recompilé ma lib static avec /Zl + /MT et j'ai également recompilé l'application console avec l'option /MT et maintenant ça baigne :P

Ecore merci [auteurdetail.aspx?ID=617077 SAKingdom] c'est cool ;)

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
essai d'ajouter dans les option de ton projet , cote editeur de lien ws2_32.lib normalement tu y a kernel32 user32 enfin ce genre de chose quoi ^^

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Que dit l'erreur exactement ? C'est une erreur à la compilation ou linkage ou une erreur à l'exécution.

C++ (@++)<!--
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>
</title>
<meta name="GENERATOR" content="OpenOffice.org 2.2 (Linux)" />
<meta name="CREATED" content="20070618;15454600" />
<meta name="CHANGED" content="16010101;0" />
<style type="text/css">
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
</style>
Salut,

il s'agit d'une erreur
d'exécution et elle ne dit pas grand chose sauf que
l'exécutable n'est pas un exe valide......
Pour rappel la
compilation et le link se passent bien, de plus j'arrive à
exécuter ce code sur des PC ayant VS d'installé....

Je
me demande juste si je n'oublie pas de faire un truc .... un link à
ajouter ? une option à cocher ou décocher ?

D'après
ce que j'en ai vu sur le web ce problème est assez récurent
quand on fait un appel à 'system' hors ici je ne fais que du
C++ le plus basique possible et deux trois appels aux fonctions de
winsock2.h











------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
16
Ouais ça dit pas beaucoup cette erreur.

On dirait une erreur de runtime. Ton programme est bien en console et programmé en C++ ? Il devrait donc être lié à MSVCP80.dll (si tu utilises VC++ 2005). Cependant, je n'ai jamais vue cette dll ailleurs que sur un PC ayant VC++ 2005 d'installé. C'est peut-être ça.

C++ (@++)<!--
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
Salut,

"Ton programme est bien en console et programmé en C++"
oui sur et certain.

mais c'est qu'il ne me dit rien de plus.... normalement si il te manque une dll il te le dit nan ?
voici la capture de l'erreur :

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
Salut,

oki c'est fait.... mais maintenant il me sort que MVCRT est en conflit avec un autre truc et faut que j'utilise /NODEFAULTLIB:library ce que j'ai fais mais rien decidement c'est chiant VS il faut perdre du temp pour rien... ce rien que pour la configuration d'un projet.....

en tout cas un grand merci à toi [auteurdetail.aspx?ID=617077 SAKingdom]

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO