我使用这个 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 构建。