C++ 使用g+包含来自不同文件夹的头文件+;

C++ 使用g+包含来自不同文件夹的头文件+;,c++,terminal,header,g++,C++,Terminal,Header,G++,我试图安装FLTK库,看到了使用不同目录的头文件。因此,我尝试将其测试为: \\check.cpp in D:\C++\ #include <factorial.h> // self made header file in folder D:\C++\link\ #include <iostream> int main(){ \\ blah blah and call to factorial function from factorial.h } 当链接文件夹(D:\

我试图安装FLTK库,看到了使用不同目录的头文件。因此,我尝试将其测试为:

\\check.cpp in D:\C++\
#include <factorial.h> // self made header file in folder D:\C++\link\
#include <iostream>
int main(){
\\ blah blah and call to factorial function from factorial.h
}
当链接文件夹(D:\C++\link)中只有factorial.h时,编译将成功完成并生成可执行文件。 但当同一目录中有另一个文件string.exe时,g++会尝试将exe文件作为输入。。。确切的编译错误如下所示:

In file included from 

/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/bits/locale_classes.h:40:0,
                     from /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/bits/ios_base.h:41,
                     from /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/ios:42,
                     from /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/ostream:38,
                     from /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/iostream:39,
                     from check.cpp:2:
    D:\C++\link/string:1:3: error: stray ‘\220’ in program
     MZ□       □□  □       @                                   □   □ □ □!□L□!This program cannot be run in DOS mode.

       ^
    D:\C++\link/string:1:5: error: stray ‘\3’ in program
     MZ□       □□  □       @                                   □   □ □ □!□L□!This program cannot be run in DOS mode.
         ^
    D:\C++\link/string:1:9: error: stray ‘\4’ in program
     MZ□       □□  □       @                                   □   □ □ □!□L□!This program cannot be run in DOS mode. 

据我猜测,使用-ID:\C++\link\试图将string.exe作为输入或类似的东西…

您是否尝试过使用斜杠而不是反斜杠<代码>/而不是
\

我想您看到的是编译器在调用时试图包含string.exe
#将
包含在
中的某个地方

同时,将文件夹称为“link”有点令人困惑,“include”是一个更好的名称

看起来您正在使用MinGW-这可能会帮助您:


[无法作为答案进行评论。]

向前或向后。。任何形式的斜杠都有效。。。我用的是Cygwin而不是Mingw。。谢谢。。你的建议很管用。。我没有意识到预处理器会在调用的过程中尝试包含string.exe。
In file included from 

/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/bits/locale_classes.h:40:0,
                     from /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/bits/ios_base.h:41,
                     from /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/ios:42,
                     from /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/ostream:38,
                     from /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/iostream:39,
                     from check.cpp:2:
    D:\C++\link/string:1:3: error: stray ‘\220’ in program
     MZ□       □□  □       @                                   □   □ □ □!□L□!This program cannot be run in DOS mode.

       ^
    D:\C++\link/string:1:5: error: stray ‘\3’ in program
     MZ□       □□  □       @                                   □   □ □ □!□L□!This program cannot be run in DOS mode.
         ^
    D:\C++\link/string:1:9: error: stray ‘\4’ in program
     MZ□       □□  □       @                                   □   □ □ □!□L□!This program cannot be run in DOS mode.