Forum Clubic

C++ - linkage

Bonjour,

j’ai un léger souci, je dispose d’un fichier .h et d’un fichier .o (qui correspond au fonction défini dans le .h) , je suis sous visual et bien entendu j’utilise ces fichier la, le probleme c’est que je n’arrive pas à lier mon fichier .o a mon projet afin que les fonctions implémentées dans le .o soit prise en compte, si qqun pouvait m’éclairer ça serai sympa :slight_smile:

Merci d’avance!
Edité le 20/11/2008 à 16:38

Sous Visual C++ 2008, dans la solution :

  • Projet Test_Compilation (wizard --> project console, tout par défaut) :
    • Test_Compilation.cpp :

#include "stdafx.h"

void my_printf(const char * foo)
{
	printf("Test_Compilation:: %s", foo);
}

* clique droit sur le fichier Test_Compilation.cpp puis "Compiler".
  • Project Test_Compilation_Impl (wizard --> project console, tout par défaut) :
    • Test_Compilation_Impl.cpp :

#include "stdafx.h"

extern void my_printf(const char * foo);

int _tmain(int argc, _TCHAR* argv[])
{
	my_printf("bar");
	fgetc(stdin);
	return 0;
}

* clique droit sur les propriétés du projet :
   + Linker --> Input --> Additionnal Dependencies --> "stdafx.obj Test_Compilation.obj"
* copier ces deux fichiers depuis le projet [b]Test_Compilation[/b] vers la raçine du projet [b]Test_Compilation_Impl[/b]
* compiler le projet.

J’utilise visual studio 2005 en fait. Et j’ai résolu le problème avec dev c++ (bouu ca craint) Dependencies = référence en francais ?