2016-03-21 18 views
-2

Ich arbeite an einem Raspberry Pi 2.<algorithm> Keine solche Datei Fehler

Ich mag die arduPi Bibliothek verwenden müssen. Ich folgte dem Installationsvorgang und kopierte das Codebeispiel. Ich versuchte es mit gcc zu kompilieren aber ich habe den folgenden Fehler:

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

Wissen Sie, wie kann ich es beheben?

+2

Nicht genügend Informationen, bitte erläutern Sie mehr über Ihre Kompilierungsschritte wie Dateinamen und Compilerbefehl. –

+7

Ist das wirklich eine C-Frage? Der Header 'algorithm' ist ein Standard-C++ - Header, kein Standard-C-Header. Wenn 'arduPi.h' eine C++ - Headerdatei ist, sollten Sie versuchen, stattdessen mit g ++ zu kompilieren. –

+0

Tank Sie! Es war wirklich ein Kompilierungsproblem! Ich wurde verrückt, während ich nicht bemerkte, dass das Beispiel für eine C++ Datei war. – Niles

Antwort

1

Die Seite sehr klar sagt, dass das Beispiel ein "C++" Code ist:

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.

In dem Beispiel, wo sie den Code, der sie auch Referenz g ++ (nicht gcc) bauen:

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

Hast du dein eigenes Programm in C++ geschrieben? Wenn nicht, dann müssen Sie die C++ - Header aus dem Beispiel behandeln, und wickeln Sie ich richtig, andernfalls ändern Sie Ihren Code in C++ (vorausgesetzt, Sie können, am häufigsten ist es kein Problem).

+2

Sie müssen 'g ++' nicht direkt aufrufen, wenn Sie die Dinge richtig machen. –

+0

@iharob Ich bin sicher, dass Sie nicht tun, trotzdem verwenden sie g ++ in dem Beispiel, was für mich ist ein klarer Hinweis, dass der Code C++ ist: –

+0

Ja, aber das OP-Problem muss sein, dass sie verwendet falsche Erweiterung für den Dateinamen, nämlich * .c * statt * .cpp *. Da vorausgesetzt wird, dass sie die richtige Erweiterung verwenden, muss das Programm mit 'gcc' korrekt kompiliert werden, da * gcc * den richtigen Compiler aufrufen würde. –

Verwandte Themen