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é.
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager