Salut tout le monde,

J'aimerais pouvoir depuis des modules écrits en C pouvoir accéder à des modules écrit en C++.

Pour cela, j'ai écrit une série de fonctions pour instancier/détruire une classe et pour accéder à chaques fonctions membres de l'objet.
Cette série de fonctions seront appelés par des fonctions C.

Voici les extraits des fichiers

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
26
27
28
29
 
// fichier MyExcelForC.h
//------------------------------
typedef void* POMYEXEL;
 
BOOL g_bMyExcel_Run(POMYEXEL pvMyExcel);
 
// fichier MyExcelForC.cpp
//---------------------------------
BOOL g_bMyExcel_Run(POMYEXEL pvMyExcel)
{
	MyExcel* poMyExcel = reinterpret_cast<MyExcel*>(pvMyExcel);
 
	bool bResult = poMyExcel->RunExcel();
 
	TRACE_OUT();
	return bResult ? TRUE : FALSE;
}
 
// fichier test.c
//-----------------
#include "MyExcelForC.h"
 
void test(void)
{
	...
	g_bMyExcel_Run(pvMyExcel);
	...    
}
La compilation se fait bien.
Mais lors de l'édition de lien, la fonction g_bMyExcel_Run n'est pas trouvée.

Environnement de développement VC++ version 6

sauf erreur avec gcc il existe extern "CPP", que faire dans le cas de VC++

Merci d'avance

Philippe