2016-03-21 16 views
-2

私はこのexampleに似arduPiライブラリを使用する必要があるラズベリーパイ2.<algorithm>そのようなファイルエラー

に取り組んでいます。 インストール手順に従って、コード例をコピーしました。 は私がGCCでそれをコンパイルしようとしたが、私は次のエラーを得た:

arduPi.h:44:21: fatal error: algorithm: No such file or directory 
#include <algorithm> 

あなたは、私はそれを修正する方法を知っていますか?

+2

情報が不十分です。ファイル名やコンパイラコマンドなど、コンパイルの手順について詳しく説明してください。 –

+7

これは本当にCの質問ですか?ヘッダ 'algorithm'は、標準Cヘッダではなく、標準C++ヘッダです。 'arduPi.h'がC++ヘッダーファイルの場合、おそらくg ++を使ってコンパイルしようとするべきでしょう。 –

+0

タンクしてください!それは本当にコンパイルの問題でした!私はC + +ファイルの例であることに気がつかなかったのですが、私は夢中になりました。 – Niles

答えて

1

サイトは非常にはっきり例は、 "C++" のコードであることを言う:

arduPi is a C++ library that lets you write programs for Raspberry Pi as if you were writing an arduino program. All the functions in order to control Serial port communications, i2C, SPI and GPIO pins are available using the arduino syntax.

彼らがさえ++グラム参照するコードをビルド例では(GCCない):

g++ -lrt -lpthread MY_PROGRAM.cpp arduPi.o -o MY_PROGRAM

あなた自身のプログラムをC++で書いたことがありますか?そうでなければ、例のC++ヘッダーを処理し、適切に折り返す必要があります。それ以外の場合は、コードをC++に変更します(できれば問題はありません)。

+2

正しいことをするには 'g ++'を直接呼び出す必要はありません。 –

+0

@iharob私はあなたがそうでないと確信していますが、g ++を使用する例はありません。私にはコードがC++であることがわかります:) –

+0

はい、OPの問題は、ファイル名の間違った拡張、つまり* .cpp *の代わりに* .c *。彼らが正しい拡張子を使用するならば、* gcc *が正しいコンパイラを呼び出すので、プログラムは 'gcc'で正しくコンパイルする必要があります。 –

関連する問題