我有一些.h文件如下(在Linux上)
Source/Server/connect.h
Source/Server/message.h
...
Run Code Online (Sandbox Code Playgroud)
我正在开发另一个需要两个.h文件但位于不同目录中的应用程序
Source/App2/..
Run Code Online (Sandbox Code Playgroud)
如何在app2应用程序中包含connect.h文件,考虑到我使用perforce并且其他所有在应用程序上工作的人都有自己的副本,所以添加一个绝对路径到包含库可能不是一个好主意但我不确定.
编辑:我使用专有的构建机制来构建代码,因此无法直接指定gcc选项.
Jam*_*lis 16
您可以#include指向文件的相对路径:
#include "../Server/connect.h"
Run Code Online (Sandbox Code Playgroud)
或者你可以添加一个标志来告诉编译器查看另一个目录.对于gcc你可以使用-I../Server; 对于Visual C++,您可以使用/I"../Server"; 其他编译器,我敢肯定,为此目的有自己的标志.
我认为第二种情况在大多数情况下更好,因为它允许您移动项目,而只需要在一个地方修改包含路径(makefile或属性表).