C++ Make/options文件中包含的路径

C++ Make/options文件中包含的路径,c++,linux,include,file-permissions,filepath,C++,Linux,Include,File Permissions,Filepath,我想我有一个非常简单的问题,但找不到解决办法。我已经将“mathcalls.h”文件包含到我的一个项目中,因为我需要使用它的pow(double,double)方法。因此,我已将文件路径添加到 。。。生成/选项文件: -Iusr/include/i386-linux-gnu/bits 。。。IDE的包含文件(Qt创建者): 因为我试过了 #include "mathcalls.h" #include <mathcalls.h> 当看到这一点时,编译器似乎只是在我的项目目录中搜索

我想我有一个非常简单的问题,但找不到解决办法。我已经将“mathcalls.h”文件包含到我的一个项目中,因为我需要使用它的
pow(double,double)
方法。因此,我已将文件路径添加到

。。。生成/选项文件:

-Iusr/include/i386-linux-gnu/bits 
。。。IDE的包含文件(Qt创建者):

因为我试过了

#include "mathcalls.h"
#include <mathcalls.h>
当看到这一点时,编译器似乎只是在我的项目目录中搜索,尽管我已经添加了文件的路径? 还请注意,在“usr/include/i386 linux gnu/bits”中,只有root用户具有完全访问权限,其他用户仅被授权“访问文件”


我如何专业地解决这个问题

获得双功率(双x,双y)的专业方法是:

#include <cmath>
#包括
或者,必要时:

#include <math.h>
#包括

然后在
/usr/include

下的子目录中翻来覆去也没有问题,但是仍然没有找到包含这些内容的方法
pow(double,double)
,我得到了错误:
SQMOM/sourceterminegralfunctions/integrationfunctionbeta.H:16:错误:调用重载的“pow”(double&,const double&)是不明确的。候选项是:/usr/include/i386 linux gnu/bits/mathcalls.h:155:1:注意:double pow(double,double).
。我还包括在Make/options:
-Iusr/include
中,可以找到math.h。令人费解。
pow()
std::pow()之一
应该可以解决,除非您正在处理有缺陷的系统。在
/usr/include
下的
i386 linux gnu/bits
中的任何内容都不打算直接使用。请尝试以下代码:
include#include#include int main(){double d=std::pow(3.14,2.78);std::我可以试一下你的代码吗?在构建时,我得到:
19:48:27:进程“/usr/bin/make”正常退出。
。运行代码时,会弹出一个终端,但没有任何输出…(?)。include似乎可以工作。好吧;我不在IDE中构建,所以我不知道需要什么。我不使用IDE的一个原因是它们似乎不能很好地运行我编写的类型的程序。我想我已经演示的是,如果您使用正式的头名称,并且不要过多地使用include路径,您会得到结果如果你以前做过类似的手术,你可能需要调查你对你的系统造成了多大的复杂性/损害。
#include <cmath>
#include <math.h>