0

我正在尝试按照http://home.wlu.edu/~levys/software/ardrone_autopylot/中的教程将 MATLAB 与 ardrone 连接。在做“make”之后,我遇到的问题是 gcc 编译器,但我不确定。

做make后的输出:

在 /usr/local/MATLAB/R2011b/extern/include/matrix.h:293 包含的文件中,
                 来自 /usr/local/MATLAB/R2011b/extern/include/engine.h:44,
                 来自 matlab_agent.c:29:
/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h:149:错误:在 'typedef 之前需要'='、','、';'、'asm' 或 '__attribute__' '
在 /usr/local/MATLAB/R2011b/extern/include/matrix.h:294 包含的文件中,
                 来自 /usr/local/MATLAB/R2011b/extern/include/engine.h:44,
                 来自 matlab_agent.c:29:
/usr/local/MATLAB/R2011b/extern/include/tmwtypes.h:798:错误:在“mwSignedIndex”之前需要“=”、“,”、“;”、“asm”或“__attribute__”
matlab_agent.c:在函数“agent_comm_act”中:
matlab_agent.c:90:警告:从不兼容的指针类型初始化
制作:[matlab_agent.o] 错误 1

上面这几行看起来像是 GCC 编译器错误,遇到过此类问题的任何人请分享您的经验。

4

1 回答 1

1

没有你的源代码,就不可能准确地知道发生了什么;我确实注意到typedef第 149 行是相关包含文件中的第一个实际 C 代码,这让我认为您在包含之前的某个地方有无意的垃圾。例如,查看以下代码段会发生什么:

int
#include <stddef.h>

(这不会产生完全相同的错误,至少在我的系统上是这样;我不知道什么令牌会这样做。)

于 2012-04-19T19:46:07.473 回答