Bonjour à toutes et à tous,

j'ai développée une petite lib en C++ pour la gestion des process.
Jusque là tout va bien, à chaque fois que je l'ai implémentée dans un prog C++ avec MFC je n'ai pas rencontré de soucis.

Aujourd'hui je souhaite l'intégré dans un prog C.
Pour que le .h de cette lib soit reconnu et lisible par le compilo j'ai mis le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
 
#ifdef  __cplusplus   
extern "C" {
#endif
 
#if !defined(_G2MMANAGEPROCESS_C__HEADER_)
#define _G2MMANAGEPROCESS_C__HEADER_
 
int findPID(/// PID a trouver
                short _PID) ;
 
void FindProcess(/// nom du process
                  char * nameProcess,
                  /// valeur du PID trouvé
                  short * valPID) ;
 
int ClosedProcess(/// nom du process
                  char * nameProcess) ;
 
#endif // !defined(MANAGE_PROCESS_H_)
 
#ifdef  __cplusplus   
}
#endif
Par rapport à ma lib de départ, j'ai rajouté le principe du Extern "C" pour être reconnu dans le prog C.
De cette manière je n'ai pas l'erreur de non reconnaissance de symbole (non de la fonction utilisée).

Par contre j'ai un autre problème de linkage, :
nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMT.lib(new.obj)
..\..\..\binary\A02120-A02123_NZ_REMORA\g2mConsigne\g2mConsigne.exe : fatal error LNK1169: one or more multiply defined symbols found
A noter que ma lib et mon appli sont toutes les deux en multithread et que je développe en VC++ 6.00

Auriez vous une idée du problème ?


par avance

Alice