Bonjour tous le monde! J'ai un problème un peu énervant si je eut me permette. J'utilise Visual Studio 2008 et je créer un projet en c++. Le porjet est une dll vide, de l'application Win32. J'avais jamais trop compris comment on créer une dll en c++, mais maintenant je sais un peut près.
Mais voici mon problème. Dans ma solution il y a deux projets vide, le premier (le principale) est une dll qui me permettra de faciliter le développement de mes applications. La deuxième est un test pour voir si la dll fonctionne sans erreur. Le but que je suis en train de faire est:
code dll: (code .hpp)
#ifndef CODEDLL_HPP
#define CODEDLL_HPPnamespace Dansdll
{
class Init
{
public:
Init();
~Init();
void Initialisation();
};
};
#endifcode dll: (code .cpp)
namespace Dansdll
{
void Init::Initialisation()
{
// Il n'y a rien dedans car c'est juste pour un test}
};
code 2nd Projet: (code .hpp)
#ifndef main_HPP
#define main_HPPclass Test
{
public: Test();
~Test();
static void DllInit();
};
#endifcode 2nd Projet (code .cpp)
#include <iostream>#include "main.hpp"
#include "codedll.hpp"using namespace Dansdll;
int main(
void)
{
Test::DllInit();
}
void Test::DllInit()
{
std::cout << "Initialisation" << std::endl;
Init::Initialisation();
// C'est la ou il y a une erreur.**}
** Erreur 1 error C2352: 'Dansdll::Init::Initialisation' : appel non conforme d'une fonction membre non staticLa voilà mon problème. J'ai pensée à mettre static avant void de Initialisation();
Mais c'est du charabia et l'aide msdn ne m'apporte pas la solution.
Erreur 2 error LNK2019: symbole externe non résolu "public: static void __cdecl Dansdll::Init::Initialisation(void)" (?Initialisation@Init@Dansdll@@SAXXZ) référencé dans la fonction "public: static void __cdecl Test::DllInit(void)" (?DllInit@Test@@SAXXZ) main.obj
Erreur 3 fatal error LNK1120: 1 externes non résolus