找不到头文件(路径错误?)
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
我正在尝试编译 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