Bonjour,
je dispose d'un fichier .lib construit avec MS VC2008 et j'aimerais l'utiliser dans un project VC6 : est-ce possible ? dois-je m'attendre � des complications ?
Merci pour toute aide,
Bonne et heureuse ann�e 2010,
Lek.
Bonjour,
je dispose d'un fichier .lib construit avec MS VC2008 et j'aimerais l'utiliser dans un project VC6 : est-ce possible ? dois-je m'attendre � des complications ?
Merci pour toute aide,
Bonne et heureuse ann�e 2010,
Lek.
Si c'est une lib de fonctions C, c'est s�r et certain. Si c'est une lib de fonctions et classes C++, ce n'est pas s�r � cause de la d�coration des noms qui n'est pas forc�ment la m�me dans Visual C++ 6 et Visual C++ 2008 (et il n'y a pas de solution pour contourner le probl�me � part convertir la lib VC9 en lib VC6, mais je ne connais pas d'utilitaire pour faire �a).
Merci, c'est ce que je pensais mais je voulais confirmation.
Il s'agirait d'une lib C donc pas de souci ;-)
@+,
Lek.
Ben si, tu peux avoir des soucis... VS2008 a introduit des changements avec ruptures, notamment sur les fonctions standard (existence d'une version s�curis�e) et d'autres �l�ments (comme l'utilisation d'un time_t sur 64 bits). Ces �l�ments n'existant pas sous VC6, c'est le casse-gueule assur� derri�re si tu les as utilis�es.
Donc, ton .LIB peut te poser les probl�mes suivants :
- Impossibilit� de "comprendre" le header VS2008 avec VC6 (d�finitions manquantes).
- Erreur au link final, requ�rant la CRT de VS2008 (qui entrera en conflit avec celle de VC6, d'ailleurs).
- Changement de taille de certains types, ce qui causera des crashs � l'ex�cution si, par miracle, le link avait pu �tre fait malgr� tout.
L'inverse (lib VC6 => VS2008) est normalement possible si tu ne tapes pas dans les changements avec rupture (comme le time_t) : la CRT de VS2008 a bien entendu au moins toutes les fonctions de celles de VC6, et doit normalement permettre une �dition de liens correcte.
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au s�rieux, de toutes fa�ons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum ad�quat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Merci Mak Lak,
effectivement les changements dont tu parles me disent quelque chose, mais il me semble que l'on peut rajouter une directive de pr�compilation pour �viter d'utiliser les changements de crt...
En tous cas merci pour ta remarque : cela �vitera de trop chercher si le cas se pr�sente.
@+,
Lek.
En fait, tu �viteras surtout d'utiliser les types et m�thodes nouvellement introduites.
Pour info, tu as la macro _USE_32BIT_TIME_T � d�finir, et pour les versions s�curis�es de la CRT, il faut :
- D�finir _CRT_SECURE_NO_WARNINGS et, �ventuellement, _CRT_NONSTDC_NO_WARNINGS pour ne plus avoir les warnings,
- Ne PAS d�finir la macro _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES, sinon tu vas activer les versions s�curis�es sans m�me t'en rendre compte.
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au s�rieux, de toutes fa�ons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum ad�quat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Partager