For some reason, I need to use the absolute path in #include
for my system.
Is using #include "D:\temp\temp_lib\temp.h"
acceptable?
I have tried these different usage and it all seems to work.
#include "D:\temp\temp_lib\temp.h"
#include "D:\\temp\\temp_lib\\temp.h"
#include "D:/temp/temp_lib/temp.h"
I just want to know which one should I use? I am using MSVC 2005. I'm wondering if all three will still work in Linux or other environment.
I was expecting #1 to be an error during compilation, but I did not get any. Anyone has any idea why that is?
Every implementation I'm aware of, and certainly MSVC 2005 and linux, allows you to specify the directory paths in which to find header files. You should include D:\temp\temp_lib on the list of directory paths, and then use
For gcc, use -I path. For MSVC, see Where does Visual Studio look for C++ header files?
The reason that #1 isn't a syntax error is that, although it looks like a string literal, it isn't. The specification is
Where q-char is
In particular,
\
has no special meaning. The interpretation of the q-char-sequence is implementation-defined.