how to add full path #include ?
-
Seems to be full path to me. Windows and Linux. The alternative is a partial path. And it is certainly not that. Not in either OS.
It's partial path on Windows. The first / assumes "the current drive", whatever that is at the time.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak
-
It's partial path on Windows. The first / assumes "the current drive", whatever that is at the time.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak
I'm pretty sure that's a Linux path. On my Ubuntu system, when I use the GUI to mount removable media it's mounted as
/media/k5054/_Partition_
, where Partition is the partition label or UUID, etc. Unless the OP has the same media mounted, the compiler isn't going to find it. But one should use relative paths in general, and use -I flags to tell the compiler/pre-processor where to search. Ditto -L flags to the linker to tell it where to find libraries."A little song, a little dance, a little seltzer down your pants" Chuckles the clown
-
I'm pretty sure that's a Linux path. On my Ubuntu system, when I use the GUI to mount removable media it's mounted as
/media/k5054/_Partition_
, where Partition is the partition label or UUID, etc. Unless the OP has the same media mounted, the compiler isn't going to find it. But one should use relative paths in general, and use -I flags to tell the compiler/pre-processor where to search. Ditto -L flags to the linker to tell it where to find libraries."A little song, a little dance, a little seltzer down your pants" Chuckles the clown
I should have been more specific. If that path was on Windows, it would have been a partial path. I understand it's a Linux path.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak
-
It's partial path on Windows. The first / assumes "the current drive", whatever that is at the time.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak
Dave Kreskowiak wrote:
The first / assumes "the current drive", whatever that is at the time.
Yes I know how pathing works in unix (and linux) and windows. There are only two terms that I know. So if you know of another please provide the term and definition. - Partial path. - Full path. Are you claiming that the first forward slash on a windows file path only means a 'partial path' but on unix/linux it always means a 'full path'? On linux/unix the path might have a path that resolves to a different drive. Otherwise, just like windows, it resolves to the current drive. Thus it is in deemed a 'full path' on windows and unix/linux. In terms of this forum which would be relevant for C/C++ include file paths... A partial path in an include path on both types of OS will use the rules associated with the build process to resolve the path. That can either be because it defined a 'current' directory or it will resolve to the execution directory (or some variant.) A full path (forward slash) in an include path on both types of OS will end up using the current drive excepting of course unless there is a path resolution to a different drive for linux/unix.
-
Dave Kreskowiak wrote:
The first / assumes "the current drive", whatever that is at the time.
Yes I know how pathing works in unix (and linux) and windows. There are only two terms that I know. So if you know of another please provide the term and definition. - Partial path. - Full path. Are you claiming that the first forward slash on a windows file path only means a 'partial path' but on unix/linux it always means a 'full path'? On linux/unix the path might have a path that resolves to a different drive. Otherwise, just like windows, it resolves to the current drive. Thus it is in deemed a 'full path' on windows and unix/linux. In terms of this forum which would be relevant for C/C++ include file paths... A partial path in an include path on both types of OS will use the rules associated with the build process to resolve the path. That can either be because it defined a 'current' directory or it will resolve to the execution directory (or some variant.) A full path (forward slash) in an include path on both types of OS will end up using the current drive excepting of course unless there is a path resolution to a different drive for linux/unix.
Quote:
just like windows, it resolves to the current drive.
This is what I'm calling a partial path. I'm not calling out anyone for anything here. I made a mistake because I assumed Windows. My mistake also shows that I don't do Linux very much, like once every couple of years so I have re-learn this crap every time.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak
-
Dave Kreskowiak wrote:
The first / assumes "the current drive", whatever that is at the time.
Yes I know how pathing works in unix (and linux) and windows. There are only two terms that I know. So if you know of another please provide the term and definition. - Partial path. - Full path. Are you claiming that the first forward slash on a windows file path only means a 'partial path' but on unix/linux it always means a 'full path'? On linux/unix the path might have a path that resolves to a different drive. Otherwise, just like windows, it resolves to the current drive. Thus it is in deemed a 'full path' on windows and unix/linux. In terms of this forum which would be relevant for C/C++ include file paths... A partial path in an include path on both types of OS will use the rules associated with the build process to resolve the path. That can either be because it defined a 'current' directory or it will resolve to the execution directory (or some variant.) A full path (forward slash) in an include path on both types of OS will end up using the current drive excepting of course unless there is a path resolution to a different drive for linux/unix.
For unix-like systems there are two terms in general use: absolute path: any path that starts with a / relative path: a path relative to the current directory. This is any path that does not start with a / Some examples might be
src/projects/foo/bar.c
or../include
or./program
jschell wrote:
On linux/unix the path might have a path that resolves to a different drive
Technically true. For example, you might have /home mounted as a separate drive - it might even be a network drive. For the average user, the file system is homogeneous, that is you can navigate to any point in the file tree with out having to know if it's on a separate drive/partition,networked-fs, etc. Its only really an issue for applications that may want to move files from one location to another, as you can not use
link()
andunlink()
to move a file to a different place in the file tree if the source and target are in different file systems. Edit: It should be noted that file systems may be mounted at any level, so you might have a partition mounted as /home, and another partition mounted as /home/games, and yet another mounted as /home/games/adventure."A little song, a little dance, a little seltzer down your pants" Chuckles the clown
-
Quote:
just like windows, it resolves to the current drive.
This is what I'm calling a partial path. I'm not calling out anyone for anything here. I made a mistake because I assumed Windows. My mistake also shows that I don't do Linux very much, like once every couple of years so I have re-learn this crap every time.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak
Dave Kreskowiak wrote:
My mistake also shows that I don't do Linux very much, like once every couple of years so I have re-learn this crap every time
Ditto, but in reverse!
"A little song, a little dance, a little seltzer down your pants" Chuckles the clown
-
For unix-like systems there are two terms in general use: absolute path: any path that starts with a / relative path: a path relative to the current directory. This is any path that does not start with a / Some examples might be
src/projects/foo/bar.c
or../include
or./program
jschell wrote:
On linux/unix the path might have a path that resolves to a different drive
Technically true. For example, you might have /home mounted as a separate drive - it might even be a network drive. For the average user, the file system is homogeneous, that is you can navigate to any point in the file tree with out having to know if it's on a separate drive/partition,networked-fs, etc. Its only really an issue for applications that may want to move files from one location to another, as you can not use
link()
andunlink()
to move a file to a different place in the file tree if the source and target are in different file systems. Edit: It should be noted that file systems may be mounted at any level, so you might have a partition mounted as /home, and another partition mounted as /home/games, and yet another mounted as /home/games/adventure."A little song, a little dance, a little seltzer down your pants" Chuckles the clown
-
Quote:
just like windows, it resolves to the current drive.
This is what I'm calling a partial path. I'm not calling out anyone for anything here. I made a mistake because I assumed Windows. My mistake also shows that I don't do Linux very much, like once every couple of years so I have re-learn this crap every time.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak
Dave Kreskowiak wrote:
This is what I'm calling a partial path.
Just to be clear what exactly do you think that the following does on Windows? On Linux? Specifically is there any realistic difference between the two in general?
#include "/work/x/y/TestClass.h"
-
Dave Kreskowiak wrote:
This is what I'm calling a partial path.
Just to be clear what exactly do you think that the following does on Windows? On Linux? Specifically is there any realistic difference between the two in general?
#include "/work/x/y/TestClass.h"
Just to be clear, I'm done with this.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak