Tentative infructueuse de référence d'une librairie
Bonjour,
Je suis en train de tester Eclipse EDT et je souhaite :
J'ai donc créé 2 projets:
J'ai configuré le premier projet en librairie statique avec comme artefact extension "lib"
Et tout compile correctement.
Voici le code du StaticDLL.h
Code:
1 2 3 4 5 6 7
|
#ifndef STATICDLL_H_
#define STATICDLL_H_
void printVersion();
#endif |
Et le code du StaticDLL.cpp
Code:
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;
} |
Jusque la c'est simple et tout compile correctement !
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:
Code:
1 2 3 4 5 6
|
#include <StaticDLL.h>
int main() {
printVersion();
} |
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)
mais le printVersion() génère l'erreur:
Code:
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' |
Cependant j'y ai accès en utilisant le CTRL+SPACE !
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.