cs_Terminator59140
Messages postés4Date d'inscriptionvendredi 2 mai 2008StatutMembreDernière intervention22 juillet 2008
-
16 juin 2008 à 23:15
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 2008
-
18 juin 2008 à 22:14
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:
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_HPP
class Test
{
public:
Test();
~Test();
static void DllInit();
};
#endif
code 2nd Projet (code .cpp)
#include
#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 static
La 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
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 16 juin 2008 à 23:48
Tu devrais relire un peu de doc. Appeler une fonction non static sans objet, ca n'a pas de sens.
"Mais c'est du charabia et l'aide msdn ne m'apporte pas la solution."
=> Mais l'erreur est radicalement différente. Avant il s'agissait d'un problème de compilation. Il s'agit maintenant d'un pb de link.
Il faut dire au compilo ce qu'il doit exporter dans la dll.