c++ 如何在Visual Studio 2015中引用Math.h

vql8enpb  于 2022-11-19  发布在  其他
关注(0)|答案(2)|浏览(418)

我使用了这个modf(),但是编译器说“未定义modf的引用”。我已经在项目中包含了math.h文件。
我将math. h的路径包含在项目属性-〉常规:[附加包含目录]中,其位置为“C:\ProgramData\Microsoft\AndroidNDK\android-ndk-r10e\platforms\android-19\arch-arm\usr\include”。
我还添加了链接器属性Linker-〉Input:[Additional Dependencies],即“libm.so“,并在Linker-〉General:[Additional Library Directories]中为“C:\ProgramData\Microsoft\AndroidNDK\android-ndk-r10e\platforms\android-19\arch-arm\usr\lib”放置了指向“libm.so”的路径
下面是调用modf()的代码。

#include <math.h>
#include "MyMath.h"

double MyMath::testMod(double a, double b)
{
    return modf(a, &b);
}

我还错过了什么?谢谢。

  • ------------更新信息-----------
    我是Visual Studio 2015的新手,所以这一定是VS中的新功能,因为错误列表窗口会在错误之间切换。如果我单击某个源文件,然后重新生成项目,错误将根据所选源文件显示不同。
    因此,前面的情况,上述错误与math.h文件,它是我的项目拉math.h文件在两次.它拉从这些位置:
    C:\程序数据\微软\安卓NDK\安卓ndk-r10 e\平台\安卓-19\拱臂\usr\包含

    C:\程序数据\微软\安卓NDK\安卓ndk-r10 e\平台\安卓19\arch-x86\用户名\包含
    请注意,arch文件夹是不同的,因为它们是“arch_arm”和“arch-x86”。现在我不知道为什么会这样。我只是想用NDK构建这个项目,以便在Android设备上使用,所以我想用arm构建。
trnvg8h3

trnvg8h31#

您可以尝试cmath头文件而不是math.h
有关详细信息,请参阅
C++ - cmath vs math.h (And similar c-prefixed vs .h extension headers)

vlju58qv

vlju58qv2#

您尝试过包含cmath吗?此指涉指出modf位于cmath.h中:cmath at cppreference.com
此外,是否尝试过在std::modf中使用std作为前缀?

相关问题