Riot: erreur: pas de nouvelle ligne à la fin du fichier [-Werror, -Wnewline-eof]

Créé le 24 oct. 2016  ·  7Commentaires  ·  Source: RIOT-OS/RIOT

J'essaye d'exécuter un programme (ci-dessous). Je peux exécuter ce programme dans mon terminal sans aucune erreur. Mais lorsque j'essaie d'exécuter ce programme simple dans RIOT, j'obtiens l'erreur suivante. Veuillez m'aider à résoudre ce problème. Merci d'avance.
Figure 1: Erreur, Figure 2: Mon code

1

2

question

Commentaire le plus utile

@Kijewski Hé, je ne l'ai pas ressenti de cette façon .. J'étais vraiment reconnaissant et tu as résolu mon problème. donc je suis vraiment reconnaissant :))

Tous les 7 commentaires

Ajoutez simplement une ligne vierge à la fin du fichier. La norme stipule qu'un fichier C (++) doit avoir une nouvelle ligne à la fin, bien que la plupart des compilateurs ne s'en soucient tout simplement pas à moins que vous ne les configuriez pour être stricts, comme nous le faisons dans RIOT. De nombreux éditeurs ajouteront automatiquement une nouvelle ligne de fin lors de l'enregistrement.

Voir aussi: https://stackoverflow.com/questions/72271/no-newline-at-end-of-file-compiler-warning

@Kijewski Merci monsieur. Cela a résolu mon problème. Mais après avoir exécuté mon code .. j'ai vu une chose étrange suivante. (Retrouvez également l'image ci-dessous)
main (): C'est RIOT! (Version: 2016.10-devel-449-g51a0-Harshads-MacBook-Air.local-arduino_sketch_on_arduino)

Pourquoi ce truc arrive-t-il "arduino_sketch_on_arduino"? :!
Veuillez aider et merci d'avance.
screen shot 2016-10-24 at 22 55 45

En fait, je ne savais même pas que vous pouvez utiliser des iostreams et des threads standard dans RIOT maintenant.

@josephnoir , @gebart , cela vous semble-t-il correct?

@Kijewski : P ok .. en tout cas .. Merci pour votre aide.

@sinkarharshad , je ne voulais pas manquer de respect. J'aime seulement apprendre aussi. :) Peut-être que vous pouvez utiliser <thread> et <iostream> maintenant. Je n'ai pas suivi de trop près les dernières améliorations apportées à RIOT.

@Kijewski Hé, je ne l'ai pas ressenti de cette façon .. J'étais vraiment reconnaissant et tu as résolu mon problème. donc je suis vraiment reconnaissant :))

Cela fonctionne pour le port natif, je suppose. Essayer de le croiser pour une carte devrait échouer:

$ BOARD=stm32f4discovery make
Warning: no PORT set!
Building application "riot_and_cpp" for "stm32f4discovery" with MCU "stm32f4".

"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/boards/stm32f4discovery
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/core
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/cpu/stm32f4
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/drivers
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/cpu/cortexm_common
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/drivers/periph_common
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/cpu/stm32_common
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/sys
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/cpu/stm32_common/periph
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/cpu/stm32f4/periph
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/sys/auto_init
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/sys/newlib
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/sys/tsrb
"/Applications/Xcode.app/Contents/Developer/usr/bin/make" -C ~/RIOT/sys/uart_stdio
~/RIOT/examples/riot_and_cpp/main.cpp: In function 'int main()':
~/RIOT/examples/riot_and_cpp/main.cpp:16:3: error: 'thread' was not declared in this scope
   thread t1((Fctor()));
   ^
~/RIOT/examples/riot_and_cpp/main.cpp:20:3: error: 't1' was not declared in this scope
   t1.join();
   ^
make[1]: *** [~/RIOT/examples/riot_and_cpp/bin/stm32f4discovery/riot_and_cpp/main.o] Error 1
make: *** [all] Error 2

Pour permettre l'utilisation de quelque chose de très similaire std :: thread sur RIOT, il y a le module cpp11-compat . Comme il n'y a pas d'horloge C ++ sur RIOT, les fonctions qui nécessitent une minuterie acceptent une structure personnalisée, voir riot / chrono.hpp .

Cette page vous a été utile?
0 / 5 - 0 notes