2010-12-01 34 views
1

J'essaie d'utiliser un fichier d'en-tête non standard (http://ndevilla.free.fr/gnuplot). Son utilisé dans beaucoup de codes dans divers endroits différents sur mon ordinateur. À l'heure actuelle, je dois mettre le fichier d'en-tête et le fichier objet dans chaque dossier que son nécessaire à la directive préprocesseur:Comment lier un fichier d'en-tête non standard dans un compilateur C

#include "gnuplot_i.h" 

Dans le fichier. Y at-il un moyen par lequel je peux mettre le fichier d'en-tête dans un endroit afin que je puisse le référencer comme un autre fichier d'en-tête standard. À votre santé.

Répondre

4

Compile avec -I<directory>

Par ex

compiler avec -I/usr/local/gnuplot/inc.

En outre, il pourrait être utile de votre lecture sur comprennent des chemins et la différence entre:

#include <include_file.h> 

et

#include "include_file.h" 

Lier dans un fichier objet doit être fait explicitement la même façon que C fichier, ce qui signifie (je crois) que vous avez besoin d'un chemin complet. Toutefois, si vous l'archivez dans une bibliothèque appropriée, vous pouvez utiliser -l<library name> et -L<library path> à la place. Par exemple.

gcc -I/usr/local/gnuplot/inc -L/usr/local/gnuplot/lib -lgnuplot -o my_prog my_prog.c 
+0

C'est moi comme dans Igloo, pas comme dans lollypop. Juste au cas où votre navigateur le rendrait comme le mien et vous ne pouvez pas dire lequel est lequel. – AlastairG

+0

Il y a un bouton d'aide qui explique comment formater le texte :-) –

+0

@Aaron Je sais comment le faire (ctrl-K), je n'y ai tout simplement pas pensé. Merci, je vais m'assurer de m'en souvenir pour la prochaine fois. Je voulais aussi avoir la première réponse sur une question aussi simple. C'est mon premier jour ici :) – AlastairG

2

La plupart des compilateurs ont un drapeau -I qui vous permet d'ajouter un répertoire de votre choix sur le chemin de recherche pour inclure des fichiers.