-
les modes de compilation
Bonjour à tous,
Je viens de passer 4 jours pour compiler un ensemble de librairies dont j'ai besoin.
J'ai compris que les libraries dont on a besoin pour en compiler d'autres écrites en C possèdes des noms commun. C'est pourquoi il faut compiler toute les librairies dans le même mode de compilation, pour être dépendant que d'une seul, et éviter les soucis...
Maintenant j'aimerai connaitre dans un premier temps la différence entre debug et release. Et dans un second la différences entre multi thread, multi thread dll, static dll etc...
D'autre part, comment savoir ce qu'il faut pour compiler une librairie dans un mode spécifique? Parfois c'est pas marqué dans la doc, on le vois dans le makefile, mais est-ce que c'est systématique?
Merci beaucoup :)
A bientôt
Aurélien
-
Debug y'a des infos de débogage, release y'en a pas + c'est optimisé.
Pour dll vs static, tu parles de la CRT je suppose. Dans un cas ton programme est lié à une dll, dans l'autre non (mais l'exe est plus gros).
Personnellement, je travaille en dll en debug, et static en release.
Depuis VC++ 2005, y'a que multithread de dispo.
Fait une recherche avec le terme "CRT" pour + d'infos.
-
ha ok... je vois je vois...
J'vais fait du multi thread dll debug alors
merci :)
-
Et une fois ton programme terminé, compile en release static pour le diffuser sans soucis :D
-
d'accord :) ça fait plaisir que ça soit plus clair
et je peux faire /MDd pour les librairies et /MTd pour le programme? Ca posera pas de soucis que c'est pas les mêmes au niveau du link?
Merci :)
-
/MDd en debug, /MT en release. Il faut 2 versions (typiquement, une lib est fournie en version debug & release).
-
ha merde, et /MD c'est pas bon?
Car en fait je comprend pas, tout à l'heure j'avais réussit, mais il y avait des conflits. Et après avoir compris a peu près tout ça, j'ai voulu recommencer, et là j'ai juste une seule erreur lors du link "unresolve external symbol _xmlFree"...
Bizard, puisque tout à l'heure j'ai réussit, et c'est les mêmes librairies, mêmes versions etc...
Donc là je refait tout en /MD...
Est-ce qu'il y a un ordre à respecter dans la liste des librairies inclues? Et dans les répertoires?
Merci :)
A bientôt