Bonjour,
Je suis en train de tester Eclipse EDT et je souhaite :
- réaliser une dll
- réferencer la dll
J'ai donc créé 2 projets:
- StaticDLL
- DLLUser
J'ai configuré le premier projet en librairie statique avec comme artefact extension "lib"
Et tout compile correctement.
Voici le code du StaticDLL.h
Et le code du StaticDLL.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #ifndef STATICDLL_H_ #define STATICDLL_H_ void printVersion(); #endif
Jusque la c'est simple et tout compile correctement !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <iostream> #include "StaticDLL.h" using namespace std; void printVersion() { cout << "StaticDLL version 0.0" << endl; }
Ensuite je crée le second projet en artefact extension "exe".
J'ai référencé le projet StaticDLL
et j'ai créé le main.cpp suivant:
Je ne suis pas sur de moi concernant le include (je viens du monde de Java et le C++ est loin d'être mon dada)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include <StaticDLL.h> int main() { printVersion(); }
mais le printVersion() génère l'erreur:
Cependant j'y ai accès en utilisant le CTRL+SPACE !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 g++ -IC:\Programs\Eclipse-CPP\workspace\StaticDLL -O0 -g3 -Wall -c -fmessage-length=0 -osrc\main.o ..\src\main.cpp ..\src\main.cpp:9:23: StaticDLL.h: No such file or directory ..\src\main.cpp: In function `int main()': ..\src\main.cpp:12: error: `printVersion' was not declared in this scope ..\src\main.cpp:12: warning: unused variable 'printVersion'
Deux questions:
La première: Est-ce que mon code est correct ?
La deuxième: Ais-je oublié quelque chose dans la configuration des projets ?
Merci d'avance pour vos réponses.
Partager