[C++] Ajouter un fichier dans /usr/include

Fermé
Utilisateur anonyme - 18 avril 2009 à 13:45
 loupius - 18 avril 2009 à 17:38
Bonjour les humains ! :-)

Je programme actuellement en C++, sous OpenSUSE.
Mon éditeur de texte est Kate, et le compilateur est g++.

Depuis hier, j'ai besoin de deux fichiers librairies nommés myconio.cpp et myconio.h.
J'essaie de les ajouter dans le dossier /usr/include, mais je n'y arrive pas.

Même en modifiant les droits d'accès du dossier, la copie des deux fichiers est impossible.


Comment puis-je faire pour utiliser quand même ces deux fichiers librairies ?
Dans mon programme C++, que dois-je mettre à la place de #include ?


Merci d'avance. :-)

Cordialement.
L'Ours Paddington Brown.
A voir également:

2 réponses

Salut l'ours,
1) Les 2 fichiers 'myconio.cpp' et 'myconio.h' ne sont pas des fichiers librairies.
2) Ce n'est pas une bonne idée, et c'est même une mauvaise idée, de vouloir rajouter des fichiers perso dans '/usr/include'; pour cela il y a éventuellement le répertoire '/usr/local/include'.
2) La bonne manière de faire est de laisser ces 2 fichiers dans le répertoire de travail. Pour les inclure il faut faire cette déclaration:
#include "myconio.h"
au lieu de
#include <myconio.h>
ce qui force le préprocesseur à chercher dans ton propre répertoire.
Bon courage.
0
Utilisateur anonyme
18 avril 2009 à 16:13
Merci beaucoup de m'avoir répondu, Loupius ! :-)


J'ai un autre petit conseil à te demander.

Je travaille actuellement sur un jeu, qui s'appelle "Motus".
Le but du jeu est de trouver un mot généré par le programme.

Le joueur propose un mot, et le programme colore en rouge les lettres bien placées, et en jaune les lettres mal placées.

Lorsque je travaillais sous Windows, avec Dev-C++, cela fonctionnait.
Le terminal s'affichait, et je pouvais ainsi jouer une petite partie. :-)


Mais là, cela se complique, car les deux fichiers Myconio ont besoin de fichiers qui ne se trouvent pas sous OpenSUSE (exemple : conio.h / winbase.h / wincon.h / windef.h).

Si je rapatrie ces fichiers sous OpenSUSE, est-ce que le programme final sera fonctionnel sur les deux OS ?


Merci d'avance.

Cordialement.
L'Ours Paddington Brown.
0
Je vasi répondre en trois temps:
1) Un même exécutable compilé ne peut s'exécuter à la fois sur Linux et Windows; il est absolument nécessaire de recompiler, d'où l'intérêt d'utiliser les fonctions (donc les includes) standardisées ISO.
2) Installer les 'win...h' sur Linux n'a aucun sens. En effet il faut bien voir à quoi servent, en général, les includes: ils servent à définir les paramètres et les fonctions de l'API, fonctions qui seront incluses au moment de l'édition des liens (statique) ou du lancement de l'exécutable (dynamique); ces fonctions sont contenues dans les 'dll'. Donc les installer sous Linux n'a aucun sens car les 'dll' correspondantes n'existent pas. Comme tout n'est pas inclus en standard dans le langage C (ou C++), il est nécessaire d'utiliser des librairies; sache qu'il existe des librairies utilisables sur Linux et sur Windows (par exemple Qt); ceci permet, moyennant une simple (!) recompilation de pouvoir exécuter le 'même' programme dans les deux environnements.
3) Un même exécutable interprété peut s'exécuter à la fois sur Linux et Windows; c'est le gros avantage de ces langages.
0