mbedでHTTPリクエストを扱おう、と思い手ごろなサンプルHTTPClient_HelloWorldをImportしたわけですが、一筋縄ではいかなかったという話。
結論としては動くようになったので、さっさとそちらを見せんかい、という場合はこちらをご参照ください。
実際ないと言われる。
Error: Cannot open source input file "rtos.h": No such file or directory in "EthernetInterface/EthernetInterface.h", Line: 27, Col: 18
これは更新すれば何とかなるだろうということで、更新。これを行うと中身が入るはず。
めでたく取得できたので、これでうまくいくだろうと思いきや今度はコンパイルエラー。下記のようなエラーが大量に出る。
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だった)。