自从我处理了C / C ++以来已经有一段时间了,所以请原谅我,如果这是一个非常容易回答的问题 - 我只是不知道如何“谷歌”它。
我有一个文件“MyFile.h”,其中包含“includedFile.h”文件。但是,编译器无法归档该文件。请看下面的图片:
我正在做的是将项目从旧的Solaris盒子移动到Linux盒子。奇怪的是,它在Solaris盒子上工作,但Linux有点困惑。
我用于项目的makefile也没有改变,这让我觉得它可能是一个编译器选项......
那么如何告诉Linux上的编译器包含该文件的位置,或者如何在“MyFile.h”中指定它?
答案 0 :(得分:2)
使用gcc和clang,您可以使用-I
指定包含路径:
g++ -o myprogram main.cc extra.cc -I/usr/include/boost -I/my/extra/include/files
遵守该目录布局。
同样相关:请阅读以下链接,了解gcc中#include "/path/to/my/includedfile.h"
和#include <file>
之间的差异:http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html
答案 1 :(得分:2)
假设您使用的是g ++,则会传递一个带有-I
标记的路径。
g++ ..... -I<a path to your includes> -I<another path to includes>