在Arduino中包含c和c ++库时出错

时间:2016-10-22 01:37:55

标签: arduino

当我尝试编译.ino文件时,我收到导入错误。这是结构:

〜/ Documents / Arduino / inos / mpu9250test / mpu9250test.ino中的主文件,我在其中添加#include "mpudmp.h"

该文件位于路径〜/ Documents / Arduino / libraries / mpudmp / mpudmp.h中,还包含导入:

#include <stdint.h>
#include <cmath>
#include <sys/time.h>
#include <stdio.h>
#include "helper_3dmath.h"
#include "mpudmp_registers.h"

据我所知,sys / time.h和cmath分别是C和C ++库。第一个位于/usr/include/sys/time.h,第二个位于/usr/include/sys/c++/4.2.1/cmath。现在,当我编译时,我收到以下错误:

/Users/sebamenabar/Documents/Arduino/libraries/mpudmp/mpudmp.h:31:17: fatal error: cmath: No such file or directory #include <cmath>

如果我在mpudump.h中注释导入cmath的行我也有时间错误:

/Users/sebamenabar/Documents/Arduino/libraries/mpudmp/mpudmp.h:32:22: fatal error: sys/time.h: No such file or directory #include <sys/time.h>

我正在运行安装了GCC的MacOS,我的目标是编写Arduino Pro Mini

1 个答案:

答案 0 :(得分:0)

GCC的问题在于,默认情况下它不像G ++那样在std C ++库中链接。因此,始终建议在编译C ++文件时使用G ++。如果您确实知道链接它们的确切参数,那么GCC和G ++的结果可能相同。