/ problème de linkage... [Visual C++] - Programmation
Marsh Posté le 06-02-2002 à 14:08:26
Hehe j´ai déjà posé la même question..
Apparemment pas de solution.. Sur les newsgroup ya plein de monde qui pose la même, mais aucune réponse!!
Le dernier état de discussion que j´ai c sur microsoft.public.win32.programmer.directx.video, regarde le thread DShow in an OCX (de moi).
En tt cas moi je trouve ça rageant, ça marche partout sauf dans un ActiveX ce link!!
Marsh Posté le 06-02-2002 à 14:45:50
attends tu veux dire qu'il y a pas de solutions ?? c pas possible ! on peut forcément faire kkchose !! moi j'ai besoin de cette lib dans mon activeX, je peux pas m'en passer !
Marsh Posté le 06-02-2002 à 14:53:12
épi j'ai pas de lecteur de news ...
comment tu as fait toi si'il n'y a pas de solutions, tu as dû t'en passer ??
Marsh Posté le 06-02-2002 à 15:03:52
c bon j'ai trouvé (merci les groups google) !!!
voilà si ça peut t'aider t'inclu ça dans ton code et ça devrai fixer le pb...
/////////////////////////////////////////////////////////////////////////////
// DllGetClassObject
extern "C"
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllGetClassObject(rclsid, riid, ppv);
}
/////////////////////////////////////////////////////////////////////////////
// DllCanUnloadNow
extern "C"
STDAPI DllCanUnloadNow(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
return AfxDllCanUnloadNow();
}
"
Marsh Posté le 06-02-2002 à 15:26:37
Tu as testé cette solution??
Car j´ai eu pas mal de solutions foireuses ds les newsgr-google..
Marsh Posté le 06-02-2002 à 16:32:13
oui oui ça marche nickel (je comprend pas pourkoi mais je m'en fous ) !!
Marsh Posté le 06-02-2002 à 16:40:54
Argh je suis dégouté: ça fait des semaines que j´épluche les newsgroups sans trouver de solution qui marche!!
Marsh Posté le 06-02-2002 à 13:35:48
bonjour à tous !
voilà, si je post ce message c vraiment paske j'ai cherché pas mal de temps et que je trouve pas. J'ai écris un prog en VC++ qui joue et capture des vidéos... jusque là pas de probs !
tout fonctionnait nickel jusqu'à ce que jecrée une nouvelle fonction qui maniple des AM_MEDIA_TYPE* .. pour gérer ces structure (allocation, destruction et autre) il faut faire appel à des fonctions qui nécessite de linker strmbase.lib (ou strmbasd.lib en mode debug). J'ai pû compiler (au passage j'ai dû passer en compilation Multithread DLL sinon yavé pas moyen de compiler à cause de divers pbs de linkage) et ça fonctionnait bien sauf que lorsque j'ai voulu inclure ce prog dans un activeX (en fait j'ai implémenter le player et la capture sous forme de classe donc c très simple à porter en activeX) j'ai eu un pb de linkage dont je n'arrive pas à me débarraser (pourtant j'ai inclu les mêmes libs que dans l'applic):
"
Linking...
Creating library Release/PascalPlayer.lib and object Release/PascalPlayer.exp
strmbase.lib(dllentry.obj) : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A)
strmbase.lib(dllentry.obj) : error LNK2001: unresolved external symbol "int g_cTemplates" (?g_cTemplates@@3HA)
Release/PascalPlayer.ocx : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
PascalPlayer.ocx - 3 error(s), 0 warning(s)
"
Je n'avais donc pas le pb avant de devoir inclure cette foutu lib (strmbase.lib) dans l'ActiveX. Je ne trouve nulle part la déclaration de la classe CFactoryTemplate (je sais que c une classe de DirectShow)... que dois-je faire poure résoudre le pb ??
merci d'avance !!