Bonjour

Voici mon problème.
J'ai un projet QT 4.4.3 sous Eclipse CDT dans lequel je souhaite ajouter une bibliothèsque statique.
Code de la lib
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
#include <string>
 
namespace InjectCodeLib
{
	/*-------------------------------------------------------------------------------------------*/
	/*
	 *	Permet d'injecter du code dans une application déjà existante.
	 *	(Procedure décrite dans le chapitre 22 de "Programming Applications for Microsoft Windows", de Richter)
	 *	@param pszCalleeModName Nom de l'API dans laquelle ont souhaite intercepter une fonction.
	 *	@param pfnCurrent Pointeur sur la fonction d'orgine.
	 *	@param pfnNew Pointeur sur la nouvelle fonction.
	 *	@param hmodCaller Handle sur l'application courante.
	 */
	/*-------------------------------------------------------------------------------------------*/
	extern void InjectCode(PCSTR pszCalleeModName, PROC pfnCurrent, PROC pfnNew, HMODULE hmodCaller);
 
	/*-------------------------------------------------------------------------------------------*/
	/*
	 *	Permet d'injecter du code dans une application déjà existante.
	 *	(Procedure décrite dans le chapitre 22 de "Programming Applications for Microsoft Windows", de Richter)
	 *	@param sApiName Nom de l'API qui souhaite injecter du code.
	 *	@param sInjectApiName Nom de l'API dans laquelle ont souhaite injecter une fonction.
	 *	@param sFonctName Nom de la fonction que l'ont souhaite remplacer.
	 *	@param pfnNew Adresse de la nouvelle fonction.
	 *	@param pfnOrig Adresse de la fonction d'orgine.
	 *	@param hmodCaller Handle sur l'application courante.
	 */
	/*-------------------------------------------------------------------------------------------*/
	extern void InjectCode(const std::string sApiName, const std::string sInjectApiName, const std::string sFonctName,
							const PROC pfnNew, PROC* pfnOrig);
}
(Lib compiler sous VS 2008 express)

Donc j'ai éditer le fichier *.pro et y est ajouter:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
LIBS += -LD:\Eclipse_C-C++_WorkSpace\InjectCodeLib\Debug\InjectCodeLib.lib
Ensuite j'ai inclu mon fichier InjectCodeLib.h dans mon fichier source.

Lorsque je lance la compilation j'ai l'erreur de linkage suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
debug\WinCopier.exe debug/CHook.o debug/CThread.o debug/main.o debug/wincopier.o debug/moc_wincopier.o  -L"c:\Qt\4.4.3\lib" -lmingw32 -lqtmaind -LD:\Eclipse_C-C++_WorkSpace\InjectCodeLib\Debug\InjectCodeLib.lib -lQtGuid4 -lQtCored4
debug/CHook.o: In function `ZN5CHook4HookEv':
D:/Eclipse_C-C++_WorkSpace/WinCopier/CHook.cpp:76: undefined reference to `InjectCodeLib::InjectCode(std::string, std::string, std::string, int (*)(), int (**)())'
debug/CHook.o: In function `ZN5CHook6UnHookEv':
D:/Eclipse_C-C++_WorkSpace/WinCopier/CHook.cpp:88: undefined reference to `InjectCodeLib::InjectCode(std::string, std::string, std::string, int (*)(), int (**)())'
Bon la je suis à cours d'idée.

Merci d'avance