Voer fout 127 bij het uitvoeren van de code

Dit semester heb ik dit nieuwe onderwerp gekregen waar we aan het werk gaan met Discovery Stm32 F4, en we zitten nog steeds in de fase van het opzetten. Maar ik heb dit probleem in het begin.

Wanneer ik deze “Blink” -code probeer te compileren, krijg ik deze foutmelding:

Dus, zoals ik het tot nu toe heb, gebruiken we deze snelkoppelingscommando “Make” om code te compileren, en we kregen instructie om het in te stellen zoals deze is weergegeven in afbeeldingen hieronder:

Kan iemand zien wat het probleem hier is?


Antwoord 1, Autoriteit 100%

Error 127Betekent een van de twee dingen:

  1. bestand niet gevonden: het pad dat u gebruikt is onjuist. Controleer of het programma eigenlijk in uw $PATHis, of in dit geval is het relatieve pad correct – onthoud dat de huidige werkdirectory voor een willekeurige terminal niet hetzelfde is voor de IDE-terminal gebruik. Het is misschien beter om in plaats daarvan een absoluut pad te gebruiken.
  2. LDSO is niet gevonden: u gebruikt een pre-gecompileerde binaire en het wil een tolk die niet op uw systeem staat. Misschien gebruik je een X86_64 (64-bit) distro, maar het prebuilt is voor x86 (32-bits). U kunt bepalen of dit het antwoord is door een terminal te openen en er rechtstreeks uit te voeren. of door het uitvoeren van file -Lop /bin/sh(om uw standaard / native-formaat) en op de compiler zelf te krijgen (om te zien welk formaat het is).

Als het probleem (2) is, kunt u het op een paar verschillende manieren oplossen:

  1. Krijg een betere binaire. Praat met de leverancier die je de toolchain gaf en vraag ze om iemand die niet zuigt.
  2. kijk of je distro de multilib-set met bestanden kan installeren. Met de meeste x86_64 64-bit distributies kun je x86 32-bit bibliotheken parallel installeren.
  3. bouw je eigen cross-compiler met iets als crosstool-ng.
  4. je zou kunnen schakelen tussen een x86_64 & x86 installeren, maar dat lijkt een beetje drastisch ;).

Other episodes