出于某种原因,我需要为我的系统使用#include中的绝对路径。
使用#include "D:\temp\temp_lib\temp.h"是否可接受?
我试过这些不同的用法,似乎都管用。
#include "D:\temp\temp_lib\temp.h"
#include "D:\\temp\\temp_lib\\temp.h"
#include "D:/temp/temp_lib/temp.h"
我只想知道我该用哪一个?我正在使用MSVC 2005。我想知道这三个系统是否仍能在Linux或其他环境下工作。
我本以为1在编译过程中是个错误,但没有得到任何结果。有人知道为什么吗?

最佳答案

我知道的每个实现,当然还有MSVC 2005和linux,都允许您指定查找头文件的目录路径。您应该在目录路径列表中包含D:\ temp\temp\lib,然后使用

#include <temp.h>

对于gcc,使用-I路径。对于MSVC,请参见Where does Visual Studio look for C++ header files?
1不是语法错误的原因是,虽然它看起来像一个字符串文字,但它不是
#include "q-char-sequence"

其中q-char是
源字符集的任何成员,新行字符除外
“而且”
尤其是,\没有特殊意义。q-char序列的解释是由实现定义的。

关于c++ - #include c/c++中的绝对路径语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27953972/

10-14 16:03