J'ai une application MFC dans laquelle j'ai déclaré un objet global dit "obj" dans un fichier appelé MiRec2PC.cpp maintenant je veux utiliser cet objet dans un fichier C.MFC: Comment utiliser l'objet global C++ dans C
J'ai utilisé une approche dans laquelle j'inclue le fichier d'en-tête dans lequel la structure de cet objet particulier est déclarée. J'utilise aussi un mot-clé "extern" avec cet obj quand je l'utilise. mais le compilateur montre une erreur de lien:
LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library httpApplication.obj : error LNK2001: unresolved external symbol _m_iRecordInst Debug/MiRec2PC.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. Creating browse info file... MiRec2PC.exe - 2 error(s), 12 warning(s)
Cordialement
Umair
pouvez-vous montrer votre code ?? – Badr
Est-ce que C supporte même des objets? Les fichiers .obj sont-ils compatibles entre C et C++? Utilisez-vous le même compilateur pour les deux? N'est-il pas plus facile de simplement encapsuler l'objet C++ dans une DLL (COM), puis d'appeler la DLL à partir de votre application C? Je pense que vous essayez de rendre les choses plus complexes que nécessaire. –
Merci pour la perspicacité. Je dois être un peu plus spécifique quand je dis en fait que je fais référence à une variable de structure. En ce qui concerne le compilateur, j'utilise VC++ 6.0. Et je ne veux pas utiliser COM. Et les choses sont complexes ici :). Je serais obligé si vous venez avec des approches comme une variable C qui peut être accessible à partir de C++ ou une variable C++ qui peut être accessible à partir de C. Espérons avoir de vos nouvelles bientôt. Cordialement Umair – Omayr