Bonjour

Je n'arrive pas à déclarer correctement une fonction du programme principal appelé dans une Dll
La fonction appelée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
__declspec (dllexport) std::wstring GetDirectory( std::wstring NameOfWord)
{
   if( wcscmp( NameOfWord.c_str(), L"wsWorkDirectory") == 0)
      return( wsWorkDirectory);
   else
      return(0);
}
Je ne crois pas pertinent de déclarer une fonction de l'exécutable principal comme dllexport, mais j'ai essayé. Ça ne produit pas de librairie comme dans une Dll
la déclaration de la fonction dans l'appelant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
__declspec(dllimport) std::wstring GetDirectory( std::wstring NameOfWord);
l'appel de la fonction dans la DLL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
wsWorkDirectory = GetDirectory(  L"wsWorkDirectory");
si je ne met pas de déclaration j'ai un message appel d'une fonction non déclarée et si je la met j'ai un unresolved external.
comment déclarer une fonction dans une DLL qui soit fourni par l'exécutable principal.