找不到头文件(路径错误?)

Header Files Not Found (Wrong Path?)

我正在尝试编译 Linux 中的一个程序,该程序包含以下头文件:

#include <iostream>
#include <vector>
#include "Minuit2/FCNBase.h"
#include "FunctionMinimum.h"
#include "MnMigrad.h"

等源文件在

home/christian/code

头文件都在

/home/christian/root/include/Minuit2

我正在尝试通过 运行 编译以下命令:

g++ -I /Minuit2 niminimzationExample.cpp -o niminimzationExample -L/Minuit2/lib -lMinuit2

但我收到以下错误消息:

In file included from niminimzationExample.cpp:9:0:
/home/christian/root/include/Minuit2/FCNBase.h:13:10: fatal error: Minuit2/MnConfig.h: No such file or directory
 #include "Minuit2/MnConfig.h"

因为编译器无法找到FCNBase.h里面的第一个头文件MnConfig.h。我也试过 运行

g++ -I /home/christian/root/include/Minuit2 niminimzationExample.cpp -o niminimzationExample -L/Minuit2/lib -lMinuit2

但我仍然得到同样的错误。包含头文件的写法是什么?

谢谢。

如果你的header在

/home/christian/root/include/Minuit2/FCNBase.h

您的#include或编译选项错误。

目前您正在告诉编译器搜索

/Minuit2/Minuit2/FCNBase.h

/home/christian/root/include/Minuit2/Minuit2/FCNBase.h

您应该指定一个选项

-I /home/christian/root/include

让编译器在目录 /home/christian/root/include.

中搜索 Minuit2/FCNBase.h

如果您不想更改选项,您应该将 #include 更改为

#include "FCNBase.h"

让编译器在目录 /home/christian/root/include/Minuit2.

中搜索 FCNBase.h