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

ソース コードがなければ、何が起こっているのかを正確に知ることはできません。149 行目は、問題のインクルード ファイルの最初の実際の C コードであることに注意してくださいtypedef。これにより、インクルードする前に不注意によるゴミがどこかにあると思われます。たとえば、次のスニペットで何が起こるかを見てください。

int
#include <stddef.h>

(少なくとも私のシステムでは、これはまったく同じエラーを生成しません。どのトークンがそうするかわかりません。)

于 2012-04-19T19:46:07.473 に答える