c++关于跨目录如何解决头文件关联的有关问题
c++关于跨目录怎么解决头文件关联的问题?
各位好,
我的问题是这样,比如我的目录结构是 src/test/lib/sys
然后我在src下面有一个.cpp文件需要调用到 sys的sys.h文件,而这个sys.h文件又调用了本目录下面的sys1.h文件,那么我该如何做才能够使我的.cpp文件能够直接使用#include "sys.h " 呢? 而不用类似 #include "test/lib/sys/sys.h " 因为这样子,我如果在sys.h中声明类似 #include "sys1.h ",编译器会提示找不到sys1.h中声明的函数。 除非我在sys.h中声明 #include "../../../../sys1.h " 。
现在我想做的是,有没有办法,可以在.cpp文件中做简单的声明,而不用相对路径来找sys.h文件,更不用修改sys.h文件中已经声明的头文件。
谢谢!
------解决方案--------------------
-I/you/directory
------解决方案--------------------
编译时在编译器的选项上加上上边的路信息,
比如:
gcc -I/src/test/lib/sys my.cpp
各位好,
我的问题是这样,比如我的目录结构是 src/test/lib/sys
然后我在src下面有一个.cpp文件需要调用到 sys的sys.h文件,而这个sys.h文件又调用了本目录下面的sys1.h文件,那么我该如何做才能够使我的.cpp文件能够直接使用#include "sys.h " 呢? 而不用类似 #include "test/lib/sys/sys.h " 因为这样子,我如果在sys.h中声明类似 #include "sys1.h ",编译器会提示找不到sys1.h中声明的函数。 除非我在sys.h中声明 #include "../../../../sys1.h " 。
现在我想做的是,有没有办法,可以在.cpp文件中做简单的声明,而不用相对路径来找sys.h文件,更不用修改sys.h文件中已经声明的头文件。
谢谢!
------解决方案--------------------
-I/you/directory
------解决方案--------------------
编译时在编译器的选项上加上上边的路信息,
比如:
gcc -I/src/test/lib/sys my.cpp