Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
07-21-2012, 01:55 PM
|
#1
|
LQ Newbie
Registered: Jul 2012
Posts: 7
Rep: 
|
How headers are included though the path is not showing the header folder
I have written a simple helloworld.c to print "hello world" message.
This uses stdio.h file which is located /usr/include/. my path does not include the path /usr/include at all then how does the gcc picks stdio.h when i compile d source.
|
|
|
07-21-2012, 01:59 PM
|
#2
|
LQ Veteran
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809
|
Your path tells the system where to look when you run a command----including running gcc. When gcc is running, it has its own path definition telling it where to find things.
|
|
|
07-21-2012, 10:25 PM
|
#3
|
LQ Newbie
Registered: Jul 2012
Posts: 7
Original Poster
Rep: 
|
Quote:
Originally Posted by pixellany
When gcc is running, it has its own path definition telling it where to find things.
|
How can I see the gcc's path definition? If I need to have one header file to be defined in the gcc's path how can I do it?
|
|
|
07-22-2012, 04:07 AM
|
#4
|
LQ Veteran
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809
|
Look for some kind of configuration file---I assume this would be in /etc, but it could also be in your ~ directory.
Brute force method:
Run this as root:
Code:
find / -name "*gcc*conf"
or maybe
find / -name "*gcc*cfg"
But doesn't gcc also have some command options for setting things up? e.g. try "man gcc"
|
|
|
07-22-2012, 05:31 AM
|
#5
|
LQ Addict
Registered: Jul 2003
Location: London, UK
Distribution: Slackware
Posts: 7,464
Rep: 
|
http://gcc.gnu.org/ml/gcc-help/2007-09/msg00204.html
Also, note that sometimes you do have to tell gcc (well, technically the preprocessor) where to find headers and libraries. You do this with the -I and -L options, respectively.
|
|
|
07-22-2012, 06:29 AM
|
#6
|
Senior Member
Registered: Jan 2005
Location: Roodepoort, South Africa
Distribution: Ubuntu 12.04, Antix19.3
Posts: 3,797
|
Quote:
Originally Posted by mnowhere
... If I need to have one header file to be defined in the gcc's path how can I do it?
|
If you're talking about your own header files, you can put them in the same directory as your code; they are, after all, part of your project.
Code:
+
|
+-- yourproject
|
+-- main.c
+-- somefile.c
+-- someinclude.h
And in main.c and/or somefile.c, you can simply include someinclude.h and the compiler will find them.
|
|
|
07-31-2012, 01:39 PM
|
#7
|
LQ Newbie
Registered: Jul 2012
Posts: 7
Original Poster
Rep: 
|
Thnq Nylex and everyone,
The following link,
http://gcc.gnu.org/ml/gcc-help/2007-09/msg00204.html
explains about the include path very well, the include path for the header files is taken care by preprocessor(cpp) and not the compiler(gcc)
so executing "cpp -v" on command prompt will give u the list of paths where the c preprocessor looks for header files by default.
But how to edit this path is still being mystery for me, I am expecting some help from u guys..
|
|
|
07-31-2012, 01:41 PM
|
#8
|
LQ Addict
Registered: Jul 2003
Location: London, UK
Distribution: Slackware
Posts: 7,464
Rep: 
|
Why can't you use the -I option to specify additional directories?
|
|
|
08-01-2012, 01:39 AM
|
#9
|
LQ Newbie
Registered: Jul 2012
Posts: 7
Original Poster
Rep: 
|
Quote:
Originally Posted by Nylex
Why can't you use the -I option to specify additional directories?
|
There is no problem in doing dat.. Its just for the sake of my knowledge.. jus wanted to kno if I change or add the header file path.. 
|
|
|
08-05-2012, 06:02 AM
|
#10
|
LQ Addict
Registered: Jul 2003
Location: London, UK
Distribution: Slackware
Posts: 7,464
Rep: 
|
I think (but am not at all certain) that the directories are specified when the compiler is built, so you have to use the -I option.
Also, per the LQ rules, please avoid "SMS" speak and write out your words in full.
|
|
|
08-07-2012, 02:34 AM
|
#11
|
LQ Newbie
Registered: Jul 2012
Posts: 7
Original Poster
Rep: 
|
I am extremely sorry for those SMS kind of messages  it has became a habit for me 
|
|
|
All times are GMT -5. The time now is 10:49 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|