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

问题描述 投票:0回答:2

我使用这个 modf() 但编译器说“对 modf 的未定义引用”。我已经在项目中包含了 math.h 文件。

我在项目属性中包含 math.h 的路径->常规:[附加包含目录] 位于“C:\ProgramData\Microsoft\AndroidNDK ndroid-ndk-r10e\platforms ndroid-19 rch-arm\使用\包括。”

我还添加了链接器属性,Linker->Input:[Additional Dependencies],即“libm.so”,我将“libm.so”的路径放在 Linker->General:[Additional Library Directories] for “C: \ProgramData\Microsoft\AndroidNDK ndroid-ndk-r10e\platforms ndroid-19 rch-arm\usr\lib"

下面是调用 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:\ProgramData\Microsoft\AndroidNDK ndroid-ndk-r10e\platforms ndroid-19 rch-arm\usr\include

C:\ProgramData\Microsoft\AndroidNDK ndroid-ndk-r10e\platforms ndroid-19 rch-x86\usr\include

注意 arch 文件夹,它们是不同的,因为它们是“arch_arm”和“arch-x86”现在我不知道为什么会这样。我只是想用 NDK 构建这个项目以在 android 设备上使用,所以我想用 arm 构建。

c++ visual-studio android-ndk
2个回答
0
投票

你可以试试 cmath 头文件而不是 math.h

更多信息可以参考

C++ - cmath 与 math.h(以及类似的 c 前缀与 .h 扩展标头)


0
投票

你有没有试过包括

cmath
。该参考资料说
modf
cmath.h
:cppreference.com上的cmath。

此外,是否尝试过在

std
中使用
std::modf
作为前缀?

© www.soinside.com 2019 - 2024. All rights reserved.