2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EthernetInterfaceでコンパイルエラー

Last updated at Posted at 2014-03-30

mbedでHTTPリクエストを扱おう、と思い手ごろなサンプルHTTPClient_HelloWorldをImportしたわけですが、一筋縄ではいかなかったという話。
結論としては動くようになったので、さっさとそちらを見せんかい、という場合はこちらをご参照ください。

まず、必要なライブラリがないエラー。
error1.JPG

実際ないと言われる。

Error: Cannot open source input file "rtos.h": No such file or directory in "EthernetInterface/EthernetInterface.h", Line: 27, Col: 18

これは更新すれば何とかなるだろうということで、更新。これを行うと中身が入るはず。

update.JPG

めでたく取得できたので、これでうまくいくだろうと思いきや今度はコンパイルエラー。下記のようなエラーが大量に出る。

Error: A value of type "void *" cannot be used to initialize an entity of type "lpc_enetdata *" in "EthernetInterface/lwip-eth/arch/lpc17_emac.c", Line: 288, Col: 36

EthernetInterface内部でエラーが起きていて、最新化しても消えてくれない。
掲示板の情報によると、TCPEchoServerならうまくいくぜ、との情報があり確かにこいつはコンパイルが通る。

そのため、このTCPEchoServerをベースにHTTPClientなどを引越しさせてコンパイルしたところ、ちゃんと通るようになった。どうやらmbedのバージョンが古かったせいのようだ(サンプルであるHTTPClient_HelloWorldはmbedのリビジョンが40、TCPEchoServer`は現時点最新の81だった)。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?