Bonjour,
Je voudrais lier un fichier source contenant une fonction au fichier source principal, mais je n'y arrive pas.
Pourriez-vous m'indiquer si cela est possible et comment le faire ?
Merci beaucoup.
Bonjour,
Je voudrais lier un fichier source contenant une fonction au fichier source principal, mais je n'y arrive pas.
Pourriez-vous m'indiquer si cela est possible et comment le faire ?
Merci beaucoup.
On ne lie pas les fichiers source, mais les fichiers objets (généralement .o ou .obj) créés lors de la compilation à partir de ceux-ci. La méthode exacte dépend du compilateur utilisé.
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
Cela dit, si ton source à lier ressemble à
Et ton main à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 /* doubler.cpp */ namespace math{ int doubler(int argument) { return 2 * argument; } }
Alors il te suffit de créer un en-tête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include <iostream> int main() { std::cout << "le double de 4 est " << math::doubler(4) << std::endl; return 0; }
Par exemple
et de rajouter #include "doubler.hpp" dans main.cpp (pour avoir la fonction) et dans doubler.cpp (pour aider à la cohérence)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #ifndef _DOUBLER_HPP_INCLUDED_ #define _DOUBLER_HPP_INCLUDED_ 1 namespace math{ int doubler(int argument); }//math:: #endif /* _DOUBLER_H_INCLUDED_ */
Il suffira alors compiler les deux morceaux ensemble.
Soit en une seule fois avec g++ main.cpp doubler.cpp -o joliprogramme.
Soit en plusieurs (compilation, puis édition de lien:
Ces commandes concernent linux, pour windows, le principe est le même.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 g++ -c main.cpp g++ -c doubler.cpp g++ main.o doubler.o -o joliprogramme
Bonjour,
Merci pour ces informations, j'y suis arrivé maintenant.
Au revoir.
Partager